看看golang包是如何积极地成长和改进的,我想知道包版本的问题是如何解决的?

我认为一种方法是将第三方包存储在项目文件夹下。

但是如果我用go get安装它呢?


当前回答

由于这是谷歌搜索时的热门话题之一,我只是想在1.17中添加“在模块模式下使用'go get'安装可执行文件已被弃用”。

找到-d 用于当前模块的依赖项 去安装 用于当前模块的需求 去安装<with_version> 安装时忽略当前模块,即:'go install example.com/cmd@latest'

https://golang.org/doc/go-get-install-deprecation

其他回答

进入path并键入

go get -u ./...

它将更新所有的require包。

指定版本或提交:

go get -u otherpackage@1.2.3

go get -u otherpackage@git-sha

看到https://github.com/golang/go/wiki/Modules日常工作流

走1.13

(exec from模块根目录)

更新指定的依赖项:

go get -u <package-name>

更新所有对最新的小版本或补丁升级的直接和间接依赖(忽略预发布版):

go get -u ./...
# or
go get -u=patch ./...

参考:

https://github.com/golang/go/wiki/Modules#daily-workflow

去帮忙

以上答案存在以下问题:

它们更新所有内容,包括你的应用程序(以防你有未提交的更改)。 它们更新了您可能已经从项目中删除但已经在磁盘上的包。

为了避免这些,请采取以下措施:

删除要更新的第三方文件夹。 打开app文件夹,运行Go get -d

由于这是谷歌搜索时的热门话题之一,我只是想在1.17中添加“在模块模式下使用'go get'安装可执行文件已被弃用”。

找到-d 用于当前模块的依赖项 去安装 用于当前模块的需求 去安装<with_version> 安装时忽略当前模块,即:'go install example.com/cmd@latest'

https://golang.org/doc/go-get-install-deprecation