【发布时间】:2021-05-27 05:11:24
【问题描述】:
我正在我的 Ubuntu 16.04 计算机上下载 Go。我正在关注本教程,我无法在 youtube https://www.youtube.com/watch?v=YS4e4q9oBaU&t=1810s 上完成这部分的学习:
当我创建 Main.go 时,VSC 控制台上出现错误:
Failed to run '/usr/local/go/bin/go env' (cwd:/home/santiagoquinteros/code):
Error: Command failed:/usr/local/go/bin/go env GOPATH GOROOT GOPROXY GOBIN GOMODCACHE
missing $GOPATH
如果我在控制台上写这个命令,就会出现:
~$ go get github.com/nsf/gocode
missing $GOPATH
这是我的 ~/.bashrc 里面的内容:
export GOROOT=/usr/local/go
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/home/santiagoquinteros/golib
export PATH=$PATH:$GOPATH/bin
export GOPATH=$gopath:/home/santiagoquinteros/code
在 19:10 到 25:15 的视频中,创建了这些代码行,我跟随他而没有做其他事情,但由于某种原因,VSC 将自己重定向到另一个我没有提到的 PATH。我也在正确的目录中创建了名为“golib”和“code”的两个文件夹。
我也在这些页面上进行了搜索,但他们的所有解决方案都对我没有帮助:
https://golang.org/doc/install
https://gist.github.com/vsouza/77e6b20520d07652ed7d
https://github.com/microsoft/vscode/issues/108003
https://github.com/microsoft/vscode-go/issues/2595
https://askubuntu.com/questions/1238895/go-cannot-find-goroot-directory-error-on-installing-go-in-wsl
请注意,我正在开发 ubuntu 16.04 的用户限制版本,这可能是主要问题。
VSC 代表 VisualStudioCode
【问题讨论】:
-
您的 sn-p 在您的
bashrc中有行,在行尾而不是下一行的开头包含export。如果不是拼写错误,这可能会破坏您的导出语句 -
Export 是一个错字,我现在已经修复了,我不知道为什么我必须放 GOROOT,但是如果我不写我的 linux 机器不知道在哪里找到GO 文件夹,我不知道是什么导致了问题。问题依然存在。
-
你的“系统”对
GOROOT一无所知,它只被go命令使用,不应该被需要(我发现视频中谈到GOROOT的部分,即使作者被告知不要设置它,他们也完全忽略了它不是必需的,仍然建议设置它) -
您的
HOMEenv 变量是否可能以某种方式未设置?GOPATH的默认值是$HOME/go(这就是为什么您不需要设置GOPATH)。另外,您是在 shell 中执行了这些语句,还是再次登录?将行添加到您的.bashrc不会将它们添加到您当前的环境中(更不用说,这些应该在.profile或.bash_profile中,而不是在 rc 文件中)。 -
我发现我的 Ubuntu 机器除了一台普通的电脑外还有一些问题,这台机器来自我工作的公司(不是我的)并且有一些限制,其中一些可能导致这种麻烦。我有另一台电脑,一台 Windows 电脑和 Go 功能在那里没有任何问题。所以我想说这种问题只发生在用户受限的上下文中。
标签: bash go visual-studio-code path