4

我正在 OSX 10.7.4 上开发。

我在让“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)

}

我无法想象这是一个错误,因为它太戏剧化而无法被忽视。所以我的问题是:我现在以什么方式愚蠢?

:-)

即我需要做什么才能让 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

我认为问题源于我使用了鱼壳,它似乎没有像我预期的那样设置环境。

4

1 回答 1

0

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

我正在使用:

set -g VARNAME value

而应该是:

set VARNAME value
于 2012-08-06T15:35:31.030 回答