【譯】GOPATH 的預設值

Cyeam發表於2017-04-25

"翻譯自Go語言作者的部落格。這只是設定了GOPATH預設值,GOROOT還是得自己設定。"

從Go 1.8開始,如果GOPATH的環境變數為空,Go將會設定一個預設的GOPATH環境變數。

Go初學者第一次安裝完Go之後,他們往往會因為忘記設定GOPATH環境變數而得到you have to set a GOPATH這樣的錯誤。這個需求的優先順序逐漸變高。對於Go的新使用者來說,解釋GOPATH的作用、指導他們如何設定GOPATH將會使它們不能專注使用Go。尤其是有些時候,這些人並不是要去使用Go語言去開發,而是使用go get去下載一些必要的命令。

Go 1.8將會設定預設的GOPATH。如果你自己沒有設定GOPATH,Go將會使用預設值。預設GOPATH是:

  • 在Unix-like系統上是在$HOME/go目錄下
  • 在Windows系統下是%USERPROFILE%\go

雖然已經有了預設的GOPATH,但是它並不能解決所有問題:

  • 我們還是得自己把$GOPATH/bin新增到PATH裡面,這樣通過go get和go install`安裝的二進位制程式才能夠被直接執行。(譯者注:當然,通過絕對路徑執行這些程式也是可以的,只不過比較麻煩)。
  • Go語言的開發者依然需要了解GOPATH的作用和它的目錄結構。
  • 如果你的GOROOT路徑(就是你讓Go原始碼的位置)和預設的GOPATH是一樣的,並且你並沒有設定一個預設的GOPATH,Go也並不為為你設定預設GOPATH,因為這樣會把GOROOT裡面的內容搞亂。

當你有疑問的時候,可以執行命令go env GOPATH來檢查GOPATH的路徑。如果有問題,比如上面說的情況,Go並沒有自動生成GOPATH,這個命令將會列印空。

閱讀原文The default GOPATH

相關文章