golang:在本地目录中安装包

top*_*kip 13 install local package go

go get...在本地目录中安装软件包(带有软件包)的最佳做法是什么?

示例:我想试用Revel Web框架,但我不想把我的go安装混乱/usr/local/go.

通常我会说sudo go get github.com/robfig/revel在主页上写的,但是会把它安装在下面/usr/local/go/src/pkg/....

是否有一种简单的方法可以说(例如)go get --local ...并将包放在当前(子)目录中?

dsk*_*ner 22

要扩展keks答案,您可以将.bashrc更新为这样

export GOROOT=/usr/local/go
export GOPATH=~/workspace/me/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Run Code Online (Sandbox Code Playgroud)

现在安装的所有软件包go get都与go分发区分开.


kek*_*eks 11

您可以导出env变量GOPATH.对我来说就是这样~/local/lib/go.此文件夹有子文件夹bin,pkgsrc,所以它只是喜欢/usr/local/go.然后go-tool将自动下载,构建和安装包到此目录中.


ste*_*nos 10

您可能需要考虑使用Go Version Manager(gvm).

除了轻松切换Go版本之外,它还允许您在pkgsets("工作区")之间切换.

首先,您创建一个集合

gvm pkgset create myproject
Run Code Online (Sandbox Code Playgroud)

然后你用它

gvm pkgset use myproject
Run Code Online (Sandbox Code Playgroud)

奇迹般有效.