우분투에서 Go Language를 올바르게 설치하는 방법은 무엇입니까?


12

이 지침 에 따라 드라이브를 설치 하려고하는데 Go제대로 작동하지 않습니다 .

계속 오류가 발생합니다.

go tool: no such tool "6g"

내가 사용하려고 할 때 go get [url]. 또한 Hello World 스크립트를 실행하려고 할 때 (Go가 올바르게 설치되었는지 확인)이 오류가 발생합니다.

이 오류 수정과 관련 하여이 게시물에서 권장 하는 개별 프로그램 (golang-go.tools gccgo-go)을 설치하려고 했지만 문제가 지속됩니다.

6g도구를 어떻게 구할 수 있습니까?

결과는 다음과 같습니다 go env.

GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/user/go"
GORACE=""
GOROOT="/usr/share/go"
GOTOOLDIR="/usr/share/go/pkg/tool/linux_amd64"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"

GOPATH와 GOROOT를 설정 했습니까?
Rinzwind

예, 먼저 GOPATH와 관련하여 오류가 발생했습니다. SO 질문을 사용 하여 솔루션을 찾은 다음 수정할 수없는 다음 오류가 발생했습니다.
Bprodz

최신 버전의 Go가 필요하십니까? 아카이브에서 Go를 설치하는 것이 훨씬 쉽습니다 sudo apt-get install golang.
Nathan Osman

@NathanOsman 그렇게 생각하지 않습니다 .Go (작년 9 월)로 작성된 프로그램을 컴파일 할 수 있어야합니다. 나는 실행 sudo apt-get install golang했지만 업그레이드, 새로 설치, 업그레이드하지 않기 위해 0을 반환했지만 여전히 go getand 를 사용할 수 없습니다 go run. apt-get이 현재 버전의 Go를 덮어 쓰도록해야합니까?
Bprodz

답변:


12

문제는 당신 GOROOT입니다. 로 설정해야합니다 /usr/lib/go( not /usr/share/go ).

export GOROOT=/usr/lib/go

2

설치

  1. 최신 정보.

    sudo apt-get update 
    
  2. Go 언어를 설치하십시오.

    sudo apt-get install golang
    
  3. GOPATH를 홈 폴더로 설정하십시오. 이 조치 후에 명령 echo $GOPATH을 사용 하여 이동 경로 위치를 확인할 수 있습니다 .

    export GOPATH=$HOME/gopath
    
  4. GOPATH의 경우이를 정의 할 필요가 없습니다. 그러나 여전히 정의 할 수 있습니다.

    # Get the go installation root path.
    go env GOROOT
    
    # Set the result of `go env GOROOT` to system variable GOROOT.
    # In this example, the result of `go env GOROOT` is `/usr/lib/go-1.6`
    export GOROOT=/usr/lib/go-1.6
    

이동 환경 변수 확인

  1. 명령을 사용 go env하면 다음을 얻을 수 있습니다.

    GOARCH="amd64"
    GOBIN=""
    GOEXE=""
    GOHOSTARCH="amd64"
    GOHOSTOS="linux"
    GOOS="linux"
    GOPATH="/home/casper/gopath"
    GORACE=""
    GOROOT="/usr/lib/go-1.6"
    GOTOOLDIR="/usr/lib/go-1.6/pkg/tool/linux_amd64"
    GO15VENDOREXPERIMENT="1"
    CC="gcc"
    GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
    CXX="g++"
    CGO_ENABLED="1"
    
  2. 이제 당신은 그것을 볼 수 있습니다 :

    ㅏ. GOPATH/home/casper/gopath있습니다.

    비. GOROOT/usr/lib/go-1.6있습니다.

참고 문헌


golangpackage가 공식적으로 저장소에 있는데 왜 PPA가 문제로 알려진 PPA를 추가해야합니까?
Anwar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.