Почему команда "go version" завершается ошибкой? Нет такого файла или каталога

Почему команда "go version" завершается ошибкой? Нет такого файла или каталога

Ниже представлена ​​среда на Mac:

~$
~$
~$ echo $0
-bash
~$
~$
~$
~$
~$
~$ cat /etc/paths.d/go
/usr/local/go/bin
~$
~$ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/Users/MYUSER/go/bin
~$
~$
~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/MYUSER/go/bin:/usr/local/go/bin
~$
~$ uname -a
Darwin XYXYXYXXYX 19.6.0 Darwin Kernel Version 19.6.0: Mon Apr 12 20:57:45 PDT 2021; root:xnu-6153.141.28.1~1/RELEASE_X86_64 x86_64
~$
~$ which go
/usr/local/go/bin/go
~$
~$
~$
~$ go version
-bash: /usr/local/bin/go: No such file or directory
~$
~$
~$
~$ /usr/local/go/bin/go version
go version go1.16.4 darwin/amd64
~$
~$

Я выполнил rm -rf /usr/local/go, rm /usr/local/bin/goперед установкой новой версии go v1.16, которая устанавливает goдвоичный файл в/usr/local/go/bin

Как заставить go versionкоманду работать?

решение1

В фрагменте, который вы разместили в своем вопросе, говорится:

~$ which go
/usr/local/go/bin/go

whichуказывает, что двоичный файл go находится в каталоге /usr/local/go/bin (см. такжеПочему бы не использовать «which»? Что тогда использовать?), но Bash пытается запуститься из каталога /usr/local/bin:

~$ go version
-bash: /usr/local/bin/go: No such file or directory

Вероятно, это то место, где goнаходился двоичный файл до того, как вы его переместили или удалили. В таких ситуациях запуск hash -rможет исправить проблему, из help hash:

-r забыть все запомненные местоположения

Связанный контент