"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
~$
~$

새 버전을 설치하기 전에 바이너리를 설치하는 v1.16을 실행했습니다 rm -rf /usr/local/go.rm /usr/local/bin/gogo/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 기억된 모든 위치를 잊어버립니다.

관련 정보