[go] GOPATH 및 GOROOT의 값은 무엇입니까?
$ goinstall github.com/ha/doozer
이 오류가 발생합니다.
goinstall: os: go/build: package could not be found locally goinstall: fmt: go/build: package could not be found locally goinstall: io: go/build: package could not be found locally goinstall: reflect: go/build: package could not be found locally goinstall: math: go/build: package could not be found locally goinstall: rand: go/build: package could not be found locally goinstall: url: go/build: package could not be found locally goinstall: net: go/build: package could not be found locally goinstall: sync: go/build: package could not be found locally goinstall: runtime: go/build: package could not be found locally goinstall: strings: go/build: package could not be found locally goinstall: sort: go/build: package could not be found locally goinstall: strconv: go/build: package could not be found locally goinstall: bytes: go/build: package could not be found locally goinstall: log: go/build: package could not be found locally goinstall: encoding/binary: go/build: package could not be found locally
답변
GOPATH
환경 변수를 나열 장소로 이동 코드를 볼 수 있습니다. Unix에서 값은 콜론으로 구분 된 문자열입니다. Windows에서 값은 세미콜론으로 구분 된 문자열입니다. 계획 9에서 값은 목록입니다.
GOPATH
표준 Go 트리 외부에서 패키지를 가져오고 빌드하고 설치하도록 설정해야합니다.
GOROOT
설치 지침에 설명되어 있습니다 .
Go 바이너리 배포판은 배포 가 Windows
/usr/local/go
(또는c:\Go
Windows)에 설치 될 것이라고 가정
하지만 Go 도구를 다른 위치에 설치할 수 있습니다. 이 경우GOROOT
환경 변수가 설치된 디렉토리를 가리 키도록 설정해야합니다
.예를 들어, 홈 디렉토리로 이동을 설치 한 경우 다음 명령을 추가해야합니다
$HOME/.profile
.export GOROOT=$HOME/go export PATH=$PATH:$GOROOT/bin
참고 :
GOROOT
사용자 정의 위치에 설치할 때만 설정해야합니다.
( Chris Bunch의 답변 버전이 업데이트되었습니다 .)
답변
다음은 간단한 설정입니다.
directory for go related things: ~/programming/go
directory for go compiler/tools: ~/programming/go/go-1.4
directory for go software : ~/programming/go/packages
GOROOT, GOPATH, PATH는 다음과 같이 설정됩니다.
export GOROOT=/home/user/programming/go/go-1.4
export GOPATH=/home/user/programming/go/packages
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
간단히 말해 :
GOROOT는 이동 설치에서 제공되는 컴파일러 / 도구 용입니다.
GOPATH는 자신의 go 프로젝트 / 타사 라이브러리 ( “go get”으로 다운로드)를위한 것입니다.
답변
먼저 실행하십시오 go env
.
go가 설치되어 있지 않다면 homebrew
패키지를 통해 또는 다른 방법으로 설치할 수 있습니다 .
출력이 표시되면 Go
설치되어있는 것입니다.
설정되어 있고 설정되지 않은 모든 환경을 보여줍니다.
비어있는 경우 GOROOT
:
- 실행
which go
(내 컴퓨터에서 :/usr/local/go/bin/go
) - 다음과 같이 내보내십시오
export GOROOT=/usr/local/go
비어있는 경우 GOPATH
:
- 필자의 경우 go 프로젝트를 위해 컴퓨터의 아무 곳에 나 디렉토리를 만듭니다.
~/GO_PROJECTS
- 그때
export GOPATH=~/GO_PROJECTS
답변
GOPATH
환경 변수
GOPATH
Go 코드, 패키지 객체 및 실행 파일을 찾을 수있는 경로를 콜론으로 구분 된 경로 목록으로 설정할 수 있습니다.A가 설정
GOPATH
빌드로 goinstall를 사용하여 이동 트리의 외부에 자신의 코드와 외부 라이브러리를 설치 (그리고 메이크를 작성 피하기 위해) 할 수 있습니다.
$GOROOT
바둑 나무의 뿌리$HOME/go
. 기본값all.bash
은 실행 되는 디렉토리의 상위입니다 . 을 설정하지 않으면$GOROOT
, 기존 makefile을 사용하여 Go 프로그램을 개발할 때 make 또는 gmake 대신 gomake를 실행해야합니다.
답변
나는 go help gopath
문서를 읽고 여전히 혼란 스러웠지만 다른 go doc 페이지 에서이 작은 덩어리를 발견했습니다.
GOPATH 환경 변수는 작업 공간의 위치를 지정합니다. Go 코드를 개발할 때 설정해야하는 유일한 환경 변수 일 수 있습니다.
답변
GOPATH는해야 하지 이동 설치를 가리키는 것이 아니라 작업 공간에 (참조 https://golang.org/doc/code.html#GOPATH을 ). go get 또는 go install로 일부 패키지를 설치할 때마다 GOPATH에 들어갑니다. 그렇기 때문에 인터넷에서 임의의 패키지가 공식 설치에 버려지 는 것을 원하지 않는다는 경고 가 표시됩니다.
답변
go 1.8 (2017 년 2 분기)부터 GOPATH가 기본적으로 $ HOME / go로 설정됩니다.
문제 17262 및 Rob Pike의 의견을 참조하십시오 .
$HOME/go
될 것입니다.
단 하나의 최선의 대답은 없지만 짧고 달콤합니다.$HOME/go
이미 존재하는 경우 해당 이름을 선택하면 문제가 될 수GOPATH
있습니다. 이미 설치되어 있고 이해하는 전문가에게만 도움이됩니다 .