登录
首页 >  Golang >  Go问答

无法成功执行 "go version",请指引如何在 PATH 中定位到 bin 目录

来源:stackoverflow

时间:2024-03-27 10:39:43 486浏览 收藏

在使用标准 bash 安装指令安装 Go 时,用户遇到 "go version" 命令执行失败问题。文章分析,发现用户在设置 $PATH 环境变量时,添加了指向 /usr/local/go/bin 目录的路径,但仍然无法执行命令。原因在于一个名为 "Go" 的 shell 函数覆盖了 $PATH 中的 "go" 可执行文件。

问题内容

如何使用 bash 中的标准安装指令来使用 go?我做错了什么?

我按照 linux 上的 go 安装说明进行操作。因此,我下载了 go tar.gz,将其解压到 /usr/local 并将 export path=$path:/usr/local/go/bin 添加到 /etc/bash.bashrc 并制作了 source /etc/bash。 bashrc

但是,go 版本 没有给出正确的结果。请参阅:

user@machine:~$ which go
/usr/local/go/bin/go
user@machine:~$ go version
user@machine:~$ /usr/local/go/bin/go version
go version go1.11.5 linux/amd64

user@machine:~$ type -a go
go is a function.
go () 
{ 
    eval dir=\$$1;
    cd "$dir"
}
go is /usr/local/go/bin/go

解决方案


Shell 函数优先于 $PATH 中的命令。

which 不一定能找到 shell 函数(事实上我认为它根本找不到它们)。 type -a 更可靠,至少如果您使用的是 bash 或其他 sh 派生的 shell。

问题在于您有一个名为 Go 的不相关 shell 函数。

如果您仍然想要该功能,我建议给它起一个不同的名称,Go 就可以了。

好了,本文到此结束,带大家了解了《无法成功执行 "go version",请指引如何在 PATH 中定位到 bin 目录》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>