2012-08-05 90 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 
相关问题