什么是安装软件包的最佳实践(那些go get...
)在本地目录?
例如:我想尝试一下狂欢 web框架,但我不希望我的杂乱去安装在/usr/local/go
。
通常我会说sudo go get github.com/robfig/revel
主页上所写,而是将其安装在它下面/usr/local/go/src/pkg/...
。
有一种简单的方式来表达(比如) go get --local ...
而在目前的(子)目录下的包?
什么是安装软件包的最佳实践(那些go get...
)在本地目录?
例如:我想尝试一下狂欢 web框架,但我不希望我的杂乱去安装在/usr/local/go
。
通常我会说sudo go get github.com/robfig/revel
主页上所写,而是将其安装在它下面/usr/local/go/src/pkg/...
。
有一种简单的方式来表达(比如) go get --local ...
而在目前的(子)目录下的包?
您可以导出环境变量GOPATH
。 对我来说这是~/local/lib/go
。 此文件夹有子文件夹bin
, pkg
和src
,所以它就像/usr/local/go
。 在go
,然后-工具会自动下载,构建和安装包到这个目录。
为了扩大keks的回答,您可以更新你的.bashrc看起来像这样
export GOROOT=/usr/local/go
export GOPATH=~/workspace/me/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
现在,随着安装的所有软件包go get
来自旅途中的分布是分开的。
您可能要考虑使用去版本管理器(GVM) 。
除了轻松地去版本之间切换,也可以让你pkgsets(“工作区”)之间切换。
首先创建一组
gvm pkgset create myproject
然后你使用它
gvm pkgset use myproject
奇迹般有效。
在现代模块启用围棋(围棋1.11介绍),你可以使用GOBIN与GOBIN的环境变量指定的二进制文件的目标程序:
GOBIN=./local gobin github.com/robfig/revel
GOBIN的安装可以这样判定:
GO111MODULE=off go get -u github.com/myitcv/gobin