Go :当设置GOPATH时,go得到$GOPATH错误



运行时 go get 命令:

sudo go get github.com/go-sql-driver/mysql

我收到以下错误

软件包 github.com/go-sql-driver/mysql:无法下载,$GOPATH不能下载 设置。 有关更多详细信息,请参阅: 转到帮助 gopath

但是$GOPATH已经设置好了。

跑步echo $GOPATH带来/Users/userxyz/Desktop/Code

跑步go env

.....
GOPATH="/Users/userxyz/Desktop/Code"
...
GOROOT="/usr/local/go"
.....

我已经尝试通过添加以下行将 GOPATH 设置为环境变量

export GOPATH="$HOME/Desktop/Code"
export PATH=$PATH:$GOPATH/bin

或者,到以下文件

~/.profile (/etc/profile)
~/.bashrc
~/.bash_profile
sudo go get github.com/go-sql-driver/mysql

这将go get root用户下运行,该用户没有设置$GOPATH

只需做:

go get github.com/go-sql-driver/mysql

通常,要:

go get

在项目文件夹中,它将安装所有依赖项。以下内容将安装测试中提到的依赖项:

go get -t

你只需要删除sudo .环境变量在用户级别定义。如果你这样做sudo go env你会看到GOPATH没有设置在那里

你不需要 sudo。如果"同意 Xcode/iOS 许可证需要管理员权限"阻止您,只需重新打开 Xcode 并接受 Xcode 的许可协议即可。

写完

回复后才意识到已经晚了将近 4 年,但我会把它留在那里,以防万一还有其他人可能需要答案......

因此,您似乎已经使用 sudo 或 root 权限创建了目录。如果您尝试与普通用户$go get,则会出现权限错误,当您使用 sudo 尝试时,您会收到 GOPATH 未设置错误。我最近遇到了这个问题,我通过简单地更改目录的所有权来解决它。

export GOPATH=/directory/of/your/goproject
chown -R ubuntu@staff $GOPATH
cd $GOPATH && go get 

在这里,您有一些环境变量可以仔细检查:

export GOPATH=/home/ubuntu/work export
PATH=$PATH:$GOROOT/bin:$GOPATH/bin

请记住,您不需要声明或更改$GOROOT。


最后,你可能想使用 [profile.d][1] 导出 env 变量:

cat > /etc/profile.d/setgoenv.sh <<EOL
export GOPATH=/home/ubuntu/work
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
EOL

我希望这有所帮助。

就我而言,我导入了不存在的错误GOPATH,并且PATH中的GOROOT不正确

设置我的export GOROOT=/opt/go然后export GOPATH=$HOME/work,确保$HOME/work存在并为我的用户提供访问权限似乎已经解决了go get {whattoget}的问题,然后确保export GOPATH=$HOME/work export PATH=$PATH:$GOROOT/bin:$GOPATH/bin在我的~/.profile有所帮助。这个线程中似乎没有什么很合适。

展望未来,我可能会开始使用 Docker 来构建我的 go 项目,因为这有点痛苦,文档和错误很长,但似乎没有以任何有意义和清晰的方式解释问题所在(GOROOTGOPATH都设置好了,但PATH GOROOTGOPATH似乎都有点不对劲(。

最新更新