Warum schlägt der Befehl „go version“ mit einem Fehler fehl? Keine solche Datei oder kein solches Verzeichnis

Warum schlägt der Befehl „go version“ mit einem Fehler fehl? Keine solche Datei oder kein solches Verzeichnis

Unten ist die Umgebung auf dem 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
~$
~$

Ich habe vor der Installation der neuen Version v1.16, die rm -rf /usr/local/goBinärdateien installiert,rm /usr/local/bin/gogo/usr/local/go/bin

Wie lässt sich go versionder Befehl zum Laufen bringen?

Antwort1

In dem Snippet, das Sie in Ihrer Frage gepostet haben, heißt es:

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

whichgibt an, dass sich die Go-Binärdatei im Verzeichnis /usr/local/go/bin befindet (siehe auchWarum nicht „welches“ verwenden? Was soll man dann verwenden?), aber Bash versucht, aus dem Verzeichnis /usr/local/bin ausgeführt zu werden:

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

Dies ist wahrscheinlich der Ort, an dem gosich die Binärdatei befand, bevor Sie sie verschoben oder entfernt haben. In solchen Situationen hash -rkann das Ausführen das Problem beheben help hash:

-r alle gespeicherten Standorte vergessen

verwandte Informationen