来自Node
环境的我过去常常通过告诉npm
从package.json
或甚至直接从控制台安装特定版本的供应商库来将该版本的库安装到项目文件夹(node_modules
)中,如下所示:
$ npm install express@4.0.0
然后,我使用以下命令在我的项目中导入该包的版本:
var express = require('express');
现在,我想对go
做同样的事情。我该怎么做呢?可以安装特定版本的包吗?如果是这样,使用集中式$GOPATH
,我如何导入一个版本而不是另一个版本?
我会这样做:
$ go get github.com/wilk/uuid@0.0.1
$ go get github.com/wilk/uuid@0.0.2
但是,我如何才能在导入过程中有所作为呢?
发布于 2018-08-23 14:50:14
Go 1.11将有一个称为go模块的功能,你可以简单地添加一个依赖于一个版本。请按照以下步骤操作:
go mod init .
go mod edit -require github.com/wilk/uuid@0.0.1
go get -v -t ./...
go build
go install
以下是有关该主题的更多信息- https://github.com/golang/go/wiki/Modules
发布于 2015-09-17 20:43:36
您可以使用git checkout
获取特定版本,并使用此版本构建您的程序。
示例:
export GOPATH=~/
go get github.com/whateveruser/whateverrepo
cd ~/src/github.com/whateveruser/whateverrepo
git tag -l
# supose tag v0.0.2 is correct version
git checkout tags/v0.0.2
go run whateverpackage/main.go
发布于 2015-09-07 20:43:29
从Go 1.5开始,"vendor experiment"可以帮助你管理依赖项。从Go 1.6开始,这不再是一个实验。还有some other options on the Go wiki.。
编辑:正如在this answer中提到的,gopkg.in是固定github依赖关系1.5之前版本的一个很好的选择。
https://stackoverflow.com/questions/24855081
复制相似问题