【问题标题】:How to configure Go so it can access environment variables in OSX如何配置 Go 以便它可以访问 OSX 中的环境变量
【发布时间】:2012-08-02 23:38:22
【问题描述】:

我正在 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

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

【问题讨论】:

    标签: macos go environment-variables fish


    【解决方案1】:

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

    我正在使用:

    set -g VARNAME value
    

    应该是:

    set VARNAME value
    

    【讨论】:

      猜你喜欢
      • 2021-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-04
      • 2023-04-10
      • 2010-09-05
      • 1970-01-01
      • 2019-08-18
      相关资源
      最近更新 更多