我正在尝试将$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
github.com/#GITHUB_USERNAME#/smitego/smitego.go
的内容:
package smitego
如何设置我的GOPATH
以便它始终如一地工作?
答案 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/go
和export 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]安装在这里:
添加了以下内容:〜/ .bashrc
export GOPATH=/usr/local/go
export PATH=$PATH:$GOPATH/bin
然后去工作
答案 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/