在本地目录中安装软件包(使用go get...
)的最佳做法是什么?golang:将软件包安装在本地目录中
例如:我想尝试Revel网络框架,但我不想让我的安装在/usr/local/go
混乱。
通常我会说sudo go get github.com/robfig/revel
写在主页上,但它会安装在/usr/local/go/src/pkg/...
下面。
有没有简单的方法来说(例如)go get --local ...
并且在当前(子)目录中有包?
在本地目录中安装软件包(使用go get...
)的最佳做法是什么?golang:将软件包安装在本地目录中
例如:我想尝试Revel网络框架,但我不想让我的安装在/usr/local/go
混乱。
通常我会说sudo go get github.com/robfig/revel
写在主页上,但它会安装在/usr/local/go/src/pkg/...
下面。
有没有简单的方法来说(例如)go get --local ...
并且在当前(子)目录中有包?
您可以导出env变量GOPATH
。对我而言,它是。这个文件夹有子文件夹bin
,pkg
和src
,所以它就像/usr/local/go
。然后go
-tool会自动下载,编译和安装软件包到这个目录中。
要扩大keks回答,您可以更新你的.bashrc,看起来像这样
export GOROOT=/usr/local/go
export GOPATH=~/workspace/me/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
现在用go get
安装了所有的包都是从去分配分开。
您可能要考虑使用Go Version Manager (gvm)。
除了轻松切换Go版本之外,它还允许您在pkgsets(“workspaces”)之间切换。
首先你创建一组
gvm pkgset create myproject
,然后你使用它
gvm pkgset use myproject
就像一个魅力。
很难选择接受哪个答案。目前我只用'GOPATH'玩过,所以@ keks的答案是我选择的答案,但这可能会在未来发生变化:) – topskip