bash - 在 PATH 中转到 bin,但 "go version"失败

标签 bash go path

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

我关注了 installation instructions for go on Linux .因此,我下载了 go tar.gz,将其解压缩到 /usr/local 并将 export PATH=$PATH:/usr/local/go/bin 添加到 /etc/bash.bashrc 并创建了一个 source/etc/bash.bashrc

但是,go version 没有给出正确的结果。参见:

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 就可以了。

关于bash - 在 PATH 中转到 bin,但 "go version"失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54621580/

相关文章:

bash - 用管道反转 if 语句

golang 与 protobuf 与 dep

Java:外部文本文件的相对路径

wpf - 使用 WPF 绑定(bind)传递两个命令参数

linux - cp 命令无法解析其中包含通配符的路径

linux - sshpass 中的多个密码

linux - bash脚本挂载磁盘失败

go - 第一个 HTTP 请求总是很慢

java - RSA OAEP , Golang 解密 , Java 加密

c#检查给定文件路径是否包含根目录