如何配置Go,使其可以访问OSX中的环境变量



我正在OSX 10.7.4上进行开发。

我在使用"获取"命令时遇到了一些问题。在试图找出问题所在的过程中,我意识到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)
}

我无法想象这是一个bug,因为它太戏剧性了,不会被忽视。所以我的问题是:我现在在什么方面变得愚蠢?

:-)

即,我需要做些什么才能启用Go来访问环境变量?

--更新:

事实证明,这实际上是我的shell的问题——Homebrew也停止了工作,并显示错误消息:

/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

我认为这个问题源于我使用鱼壳,它似乎没有像我预期的那样创造环境。

事实证明,这是一个格式错误的~/.config/fish/config.fish文件。

我使用的是:

set -g VARNAME value

应该是:

set VARNAME value

最新更新