2012-08-05 41 views
3

我正在OSX 10.7.4上開發。如何配置Go以便它可以訪問OSX中的環境變量

我在使用「go get」命令時遇到了一些問題。在試圖找出問題所在的過程中,我意識到Go無法讀取$ PATH環境變量。

下面的腳本顯示出的問題: -

(PATH會返回一個空字符串,並syscall.Getenv返回OK = FALSE)

package main 


import (
    "os" 
    "syscall" 
    "fmt" 
) 

func main() { 

    path := os.Getenv("PATH") 
    fmt.Println(path) 

    syscall_path, ok := syscall.Getenv("PATH") 
    fmt.Println(syscall_path) 
    fmt.Println(ok) 

} 

我無法想象,這是一個錯誤,因爲它太戲劇化而沒有被忽視。所以我的問題是這樣的:現在我是怎樣愚蠢的?

:-)

I.e.我需要做些什麼來啓用Go來訪問環境變量?

--update:

事實證明,它實際上是我的shell一個問題 - 自制停止也在努力,並顯示錯誤消息:

/usr/local/Library/Homebrew/global.rb:95: private method `split' called for nil:NilClass (NoMethodError) 
    from /usr/local/bin/brew:10:in `require' 
    from /usr/local/bin/brew:10 

我覺得現在的問題從梗我使用了魚殼,似乎沒有像我預期的那樣設置環境。

回答

0

事實證明,這是一個畸形的〜/ .config/fish/config.fish文件。

我所用:

set -g VARNAME value 

這反而應該是:

set VARNAME value 
相關問題