go install 和 go get的区别
go install 和 go get 都是 Go 语言中的命令行工具,用于处理依赖关系和安装包。它们的主要区别在于功能和使用场景。
go install:- 功能:
go install命令用于编译并安装指定的包或可执行程序到 Go 语言的工作空间(GOPATH)的bin目录下。如果没有指定包名,则会安装当前目录下的包或可执行程序。 - 使用场景:适用于在本地编译和安装自己的 Go 程序或库。安装后的二进制可执行文件将位于
$GOPATH/bin目录下,可以直接执行,或者可以被其他 Go 程序引用。
- 功能:
go get:- 功能:
go get命令用于获取、编译并安装远程代码库或工具。它会下载指定的包及其依赖,并将它们安装到工作空间中。除非指定了-u(update)标志,否则它只会下载并安装代码一次。 - 使用场景:适用于获取和安装第三方库或工具。通常用于获取项目的依赖项。例如,如果您想使用某个开源库,可以使用
go get来快速获取并安装该库,使您的项目可以引用并使用它。
- 功能:
综合考虑,两者的主要区别在于:
go install用于本地编译和安装自己的程序或库。go get用于获取和安装远程代码库或工具,适用于获取第三方依赖。
在实际使用中,推荐根据需求来选择合适的命令。如果您只需要安装本地程序或库,使用 go install 更为直接。如果您需要获取并安装第三方依赖,使用 go get 可以方便地实现这一目标。另外,在Go 1.17版本以后,推荐使用Go的新模块系统,不再强制使用GOPATH,而是使用go mod命令管理依赖,这也是更为现代化的方式。
从 Go 1.11 版本开始,Go 引入了新的依赖管理系统,称为模块(Module)系统。使用模块系统后,不再强制需要设置 GOPATH,而是直接在项目目录下使用 go mod 命令来管理依赖关系。
在 Go 模块系统中,您不再需要使用 go get 命令来获取和安装第三方依赖。相反,您可以使用以下步骤来管理依赖:
初始化模块:在项目根目录执行以下命令,创建一个新的模块或将当前项目转换为模块:
go mod init <module-name>
添加依赖:在项目中导入其他包,然后运行
go build或go mod tidy命令,Go 会自动解析并下载所需的依赖项,并将它们添加到模块的go.mod文件中。更新依赖:如果需要更新依赖到最新版本,可以运行以下命令:
go get -u
总结来说,使用 Go 模块系统后,您不再需要显式地使用 go get 来管理依赖项,而是直接使用 go mod 相关命令来管理项目的依赖关系。这是更为现代化和推荐的方式。
go install 和 go get的区别的更多相关文章
- pod install 和 pod update的区别
pod install 和 pod update的区别 pod install(下载并安装pod) 1,当pod file文件中有“增加pod,删除pod,修改pod”的操作之后使用. 2,pod i ...
- eclipse中的maven build、maven clean、maven install和maven test的区别
eclipse中的maven build.maven clean.maven install和maven test的区别 https://www.cnblogs.com/Marydon20170307 ...
- eclipse maven build、maven clean、maven install和maven test的区别 精析
1.情景展示 选中maven项目,右键-->Run As或Debug As-->maven buid,maven install,maven test有什么区别? 2.区别说明 ...
- Cmake的install与file命令的区别
实际上他们两个可以达到一个目标(对于文件操作),但是又有本质上的区别,文档没有细看,但是一般利于项目的管理,使用install,install命令如果在cmake命令中没有指名install参数,实际 ...
- npm -i 与npm install -s与-d的区别
npm i module_name -S = > npm install module_name --save 写入到 dependencies 对象 npm i module_name -D ...
- webpack——npm -i 与npm install -s与-d的区别
在 package.json 文件里面的[devDependencies]和[dependencies]对象有什么区别呢? devDependencies 里面的插件只用于开发环境,不用于生产环境, ...
- composer install与composer update的区别
1.composer install install 命令从当前目录读取 composer.json 文件,处理了依赖关系,并把其安装到 vendor 目录下. php composer.phar i ...
- yum install 与 yum groupinstall 的区别
原文:http://blog.51yip.com/linux/1171.html yum 提供二种安装软件的方式 1,yum install 它安装单个软件,以及这个软件的依赖关系 2,yum gro ...
- maven install与maven package 的区别
mvn install 是将你打好的jar包安装到你的本地库中,一般没有设置过是在 用户目录下的 .m2\下面.mvn package 只是将你的代码打包到输出目录,一般的是 target下面.
- 【laravel54】composer install与composer update的区别
1.基础概念: 我们需要明白laravel项目里面有2个配置文件,composer.json和composer.lock文件,前者是下载的依赖包配置文件,后者是锁定的包版本信息. 使用之前,需要cd ...
随机推荐
- SpringBoot自定义cron表达式注册定时任务
springBoot自定义cron表达式注册定时任务 一.原理 1.使用Spring自带的TaskScheduler注册任务 2.注册后返回:ScheduledFuture,用于取消定时任务 3.注册 ...
- odoo wizard界面显示带复选框列表及勾选数据获取
实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图(非实际项目界面截图,仅用于介绍本文主题),打开记录详情页(form视图),点击某个按钮(图中的 ...
- 这是一篇记录——django-xadmin重新开发记录
利用下面的代码把django的版本换成和xadmin2适配的版本,注意xadmin最新版本出了3.0但是就是一个纯前端的框架,和之前的版本差异较大. 因为此时距离ddl不到24小时,所以使用旧的版本. ...
- 轻量化3D文件格式转换HOOPS Exchange新特性
BIM与AEC市场发展现状 近年来BIM(建筑信息模型)和AEC(建筑.工程和施工)市场一直保持着持续增长.2014 年全球 BIM 软件市场价值 27.6 亿美元,而到 2022年,预期到达115. ...
- SpringBoot定义优雅全局统一Restful API 响应框架四
如果没有看前面几篇文章请先看前面几篇 SpringBoot定义优雅全局统一Restful API 响应框架 SpringBoot定义优雅全局统一Restful API 响应框架二 SpringBoot ...
- 音视频八股文(3)--ffmpeg常见命令(2)
07-ffplay命令播放媒体 播放本地文件 播放本地 MP4 视频文件 test.mp4 的命令,从第 2 秒位置开始播放,播放时长为 10 秒,并且在窗口标题中显示 "test time ...
- 2022-09-10:以下go语言代码输出什么?A:编译错误;B:49.0;C:49。 package main import ( “fmt“ ) func main() { ch
2022-09-10:以下go语言代码输出什么?A:编译错误:B:49.0:C:49. package main import ( "fmt" ) func main() { ch ...
- 2021-02-18:给定一个字符串str,给定一个字符串类型的数组arr,出现的字符都是小写英文。arr每一个字符串,代表一张贴纸,你可以把单个字符剪开使用,目的是拼出str来。返回需要至少多少张贴纸可以完成这个任务。例子:str= "babac",arr = {"ba","c","abcd"}。a + ba + c 3 abcd + abcd 2 abcd+ba 2。所以返回2。
2021-02-18:给定一个字符串str,给定一个字符串类型的数组arr,出现的字符都是小写英文.arr每一个字符串,代表一张贴纸,你可以把单个字符剪开使用,目的是拼出str来.返回需要至少多少张贴 ...
- 2021-11-06:3的幂。给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 3 的幂次方需满足:存在整数 x 使得 n ==
2021-11-06:3的幂.给定一个整数,写一个函数来判断它是否是 3 的幂次方.如果是,返回 true :否则,返回 false .整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == ...
- 2021-10-29:除自身以外数组的乘积。给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之
2021-10-29:除自身以外数组的乘积.给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i ...