보다 더 생생한 기록

[GO] go get VS go install (zsh: command not found) 본문

Go

[GO] go get VS go install (zsh: command not found)

viviviviviid 2023. 8. 30. 14:02

매번 고랭 패키지 설치하다가 몇번을 갈아엎었는지 모르겠다.
최근까지는 고랭 환경변수 설정이 잘못된줄 알아서, 변수설정으로 어찌저찌 되었다.

하지만 boltbrowser을 설치하여 실행하려는데 zsh: command not found 에러가 발생했다.

 

결국 한번 더 밀어서 해결하려했지만 실패로 돌아갔고 go get github.com/.../boltbrowser 설치를 디렉토리 변경하며 진행했다. go.mod에서 진행했을때 외부모듈에서는 사용이 불가능하다는 에러가 발생했고, 이를 구글링 해보았더니

go install github.com/.../boltbrowser 로 진행하라는 것이었다.

실제로 사용한 코드

go install github.com/br0xen/boltbrowser

 

go get과 go install의 차이점은 다음과 같았다.

 

go get

Go 1.17 이전:

go get 명령은 원격 저장소의 Go 패키지를 로컬에 다운로드하고 설치하는 데 사용되었습니다. 또한 필요한 종속성도 함께 다운로드하였습니다.

Go 1.17 이후:

go get의 설치 기능이 제거되었고, 이제는 종속성만 가져오는 데 사용됩니다. 특정 패키지를 설치하려면 go install을 사용해야 합니다.

 

go install

Go 1.17 이전:

go install 명령은 현재 디렉토리의 Go 패키지를 컴파일하고 설치하는 데 사용되었습니다. 주로 작업 중인 패키지를 $GOPATH/bin에 설치할 때 사용되었습니다.

 

Go 1.17 이후:

go install에 패키지의 버전이나 @latest와 같은 접미사를 추가하여 원격 패키지를 직접 설치할 수 있게 되었습니다. 예를 들어, go install example.com/cmd@latest 명령은 해당 원격 패키지의 최신 버전을 설치합니다. 

 


즉 go install을 사용하도록하자는게 현재로서는 답인듯하다.