2013-04-29 150 views
3

我以前在Python項目中使用過Python工具,如virtualenvvirtualenvwrapper,但現在我正在開發一個Go項目,所以我想要一個通用工具來切換環境變量,比如我做類似管理環境變量

workon myproject 
.... 
deactivate myproject 

我特別喜歡的virtualenv-wrapper與前,後的激活腳本的工作流程,我可以preactivate.sh

export MYVAR=xxx 

和postactivate

unset MYVAR 

我提到的工具似乎圍繞着Python和pip,但由於我的項目是在Go中,我不知道它的猶太教版本是否適合我使用恰好提供環境變量管理的Python工具特徵。任何更通用的目的,你會建議,並不難建立?

這個問題不一定是Go lang的具體問題。

+1

設置和取消環境變量是特定於操作系統和語言無關。隨意使用原來也適用於Python的工具。 – Alfe 2013-04-29 23:39:48

+0

我明白你的意思了,但我相信這些工具是矯枉過正的。正是我想要的可以用bash腳本來完成,但是我確定有人必須實現某些功能才能做到這一點? – fractalous 2013-04-30 01:33:15

+0

@fractalous實際上,您只需設置一個變量($ GOPATH)即可設置不同的工作空間。你真的需要一個工具嗎? – fuz 2013-04-30 01:50:05

回答

0

您可以嘗試envirius (universal virtual environments manager),它允許編譯go的任何版本並基於它創建任意數量的環境。 $GOPATH/$GOROOT取決於每個特定的環境。

此外,它允許創建混合語言的環境。

這裏是和示例與envirius去編譯應用爲主的:

$ 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 
0

如果向下行,你正在尋找的東西多一點的平臺無關的,重量輕,一個偉大的選擇將是生物羣落。它提供了一個簡單的界面來定義一個環境,該環境可用於爲給應用程序克隆指定環境的人員提供幫助。

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

(全面披露:我是作者)