无法在Mac OSX上设置$ GOPATH

ser*_*erg 59 macos environment-variables go

我正在尝试设置我的$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
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

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

package smitego
Run Code Online (Sandbox Code Playgroud)

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

eli*_*rar 119

更新,从Go 1.8开始:如果您正在安装Go 1.8(已发布:2017年2月)或更高版本,GOPATH 将由Go工具链自动确定.

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


对于shell :(手动方法)

〜/ .bash_profile应该包含export GOPATH=$HOME/go,也包含export PATH=$GOPATH/bin:$PATH.使用它$很重要:请务必注意我使用它的位置(以及我没有使用过的地方).

对于Sublime文本:

Sublime Text菜单>首选项>包设置> GoSublime>设置:用户

{
        "shell": ["/bin/bash"],
        "env": {"GOPATH": "/Users/#USERNAME#/go/"},
}
Run Code Online (Sandbox Code Playgroud)

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

  • `/ usr/bin/bash`通常是Mac或Linux上的`/ bin/bash`. (4认同)

Tyl*_*ong 16

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

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

export GOPATH=/Users/username/go
export PATH=$GOPATH/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

  • 我也使用了这种方法,发现有一种更通用的方法来定义 GOPATH。`导出 GOPATH=$HOME/go` (2认同)

Bar*_*mar 14

$只有在阅读变量时,才能在分配变量时将前缀放在变量上.

export GOPATH=$HOME
Run Code Online (Sandbox Code Playgroud)

要使这个永久化,请将命令放入您的.bash_profile.

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


小智 5

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

只有有关设置路径的说明~/.bashrc,而不是~/.bash_profile由于此线程能够构建我的示例文件。

export GOPATH=$HOME
export PATH=$PATH:$GOPATH/bin
Run Code Online (Sandbox Code Playgroud)

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


arc*_*ak2 5

安装 go with brew 或 with package 后,这解决了我的问题:

export GOROOT="/usr/local/go"
export GOPATH="$HOME/Documents/goWorkSpace"
export PATH="$HOME/Documents/goWorkSpace/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)


Hom*_*ani 5

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

2)设置Go工作区

mkdir $HOME/go
cd $HOME/go
mkdir bin pkg src
Run Code Online (Sandbox Code Playgroud)

3)Setup Go环境

sudo vi ~/.bash_profile
export GOPATH=$HOME/go
PATH=$PATH:$GOPATH/bin
Run Code Online (Sandbox Code Playgroud)

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

mkdir $GOPATH/src/github.com/todsul/hello
touch $GOPATH/src/github.com/todsul/hello/hello.go
go install
hello
Run Code Online (Sandbox Code Playgroud)