无法在Mac OSX上设置$ GOPATH

时间:2014-02-01 14:35:28

标签: macos go environment-variables

我正在尝试将$GOPATH变量设置为在我的计算机上运行一些示例代码:

$ smitego-example go run main.go 
main.go:5:2: cannot find package "github.com/#GITHUB_USERNAME#/smitego" in any of:
    /usr/local/go/src/pkg/github.com/#GITHUB_USERNAME#/smitego (from $GOROOT)
    ($GOPATH not set)

$ smitego-example export $GOPATH=$HOME
-bash: export: `=/Users/#OSX_USERNAME#': not a valid identifier

enter image description here

github.com/#GITHUB_USERNAME#/smitego/smitego.go的内容:

package smitego

如何设置我的GOPATH以便它始终如一地工作?

8 个答案:

答案 0 :(得分:114)

更新,从Go 1.8开始:如果您正在安装Go 1.8(已发布:2017年2月)或更高版本,GOPATH为您的Go工具链automatically determined

在macOS(nee OS X)上默认为$HOME/go - 例如/Users/matt/go/。这使得开始使用Go变得更加容易,并且您可以在安装Go后立即go get <package>


对于shell:(手动方法)

〜/ .bash_profile应包含export GOPATH=$HOME/goexport PATH=$GOPATH/bin:$PATH$的使用非常重要:请务必注意我在哪里使用它(以及我没有使用过的地方)。

对于Sublime Text:

Sublime Text菜单&gt;偏好&gt;套餐设置&gt; GoSublime&gt;设置:用户

{
        "shell": ["/bin/bash"],
        "env": {"GOPATH": "/Users/#USERNAME#/go/"},
}

确保您的GOPATH未设置为包的完整路径;只是go所在的src, pkg, and bin文件夹的根目录。如果您没有使用GoSublime,我建议先安装它。

答案 1 :(得分:15)

接受的答案对我不起作用。我调查并找到了原因:我使用的是zsh,而不是bash。

我需要将以下两行添加到~/.zshrc

export GOPATH=/Users/username/go
export PATH=$GOPATH/bin:$PATH

答案 2 :(得分:14)

当您分配变量时,不要将$前缀放在变量上,只有在您阅读变量时才会这样做。

export GOPATH=$HOME

要使此永久保留,请将命令放在.bash_profile

这适用于终端shell。如果需要设置将影响GUI应用程序的环境变量,请参阅Environment variables in Mac OS X

答案 3 :(得分:4)

http://www.golang-book.com/guides/machine_setup#osx

只有在~/.bashrc上设置路径的说明,而不是~/.bash_profile,这要归功于这个线程能够获取我的构建文件。

export GOPATH=$HOME
export PATH=$PATH:$GOPATH/bin

其他Mac用户需要将上述内容添加到~/.bash_profile

答案 4 :(得分:4)

1)下载并安装Go工具 https://golang.org/doc/install

2)设置Go工作区

mkdir $HOME/go
cd $HOME/go
mkdir bin pkg src

3)设置Go环境

sudo vi ~/.bash_profile
export GOPATH=$HOME/go
PATH=$PATH:$GOPATH/bin

通过创建,构建和运行Go项目进行测试

mkdir $GOPATH/src/github.com/todsul/hello
touch $GOPATH/src/github.com/todsul/hello/hello.go
go install
hello

答案 5 :(得分:0)

在macOS High Sierra版本10.3.3上,Go [go version go1.10.1 darwin / amd64]安装在这里:

Go Install Location

添加了以下内容:〜/ .bashrc

export GOPATH=/usr/local/go
export PATH=$PATH:$GOPATH/bin

然后去工作

Go Works

答案 6 :(得分:0)

在安装brew或软件包后,这解决了我的问题:

export GOROOT="/usr/local/go"
export GOPATH="$HOME/Documents/goWorkSpace"
export PATH="$HOME/Documents/goWorkSpace/bin:$PATH"

答案 7 :(得分:-1)

使用最新 mac 及更高版本 Catalina 的人, 你们需要更新 .zshrc 文件而不是 .bash。

在 ~/.zshrc 中加入以下两行:

导出 GOPATH=/Users/username/go

导出路径=$GOPATH/bin:$PATH

它应该可以工作。!!

这在不久前发生了变化,请参阅下面的链接以了解为什么是 .zshrc 而不是 .bash_profile https://eshop.macsales.com/blog/56921-moving-from-bash-to-zsh-terminal-changes-in-macos-catalina/