3

我以前在 Python 项目中使用过 Python 工具,例如virtualenvvirtualenvwrapper

workon myproject
....
deactivate myproject

我特别喜欢virtualenv-wrapper使用激活前和激活后脚本的工作流程,我可以在其中preactivate.sh

export MYVAR=xxx 

并后激活

unset MYVAR

我提到的工具似乎以 Python 和 pip 为中心,但由于我的项目是在 Go 中,我不知道我使用恰好提供环境变量管理功能的 Python 工具是否合乎情理。您会建议任何更通用的用途并且不难设置?

这个问题不一定是特定于 Go 语言的。

4

3 回答 3

1

是的,你可以使用 gvm:

https://github.com/moovweb/gvm

如果您曾经将 rvm 用于 ruby​​,则与此类似。

于 2013-04-30T02:55:15.710 回答
0

您可以尝试envirius(通用虚拟环境管理器),它允许编译任何版本的 go 并基于它创建任意数量的环境。$GOPATH/$GOROOT取决于每个特定的环境。

此外,它允许创建具有混合语言的环境。

以下是使用 envirius 编译基于 go 的应用程序的示例:

$ nv mk go-hugo-test --go=1.2.1
Creating environment: go-hugo-test ...
 * installing go==1.2.1 ...
 * done (in 8 secs.)

$ nv ls 
Available environment(s):
go-hugo-test (go==1.2.1)

$ nv on go-hugo-test
(go-hugo-test) $ go get github.com/spf13/hugo
(go-hugo-test) $ cd $GOPATH/src/github.com/spf13/hugo
(go-hugo-test) $ go build -o hugo main.go
(go-hugo-test) $ cd -
(go-hugo-test) $ hugo version
Hugo Static Site Generator v0.11-dev
于 2014-03-31T09:37:47.353 回答
0

如果下线,您正在寻找更多与平台无关且轻量级的东西,那么 Biome 就是一个不错的选择。它提供了一个简单的界面来定义一个环境,该环境可用于为克隆应用程序的任何人提供一个指定的环境。

http://github.com/1egoman/biome

(完全披露:我是作者)

于 2016-07-30T22:50:56.417 回答