[macos] GOPATH 외부에 디렉토리 xxx에 대한 설치 위치가 없습니다.

~/src/go-statsd-client> echo $GOPATH
/Users/me/gopath
~/src/go-statsd-client> echo $GOROOT
/usr/local/Cellar/go/1.1.1\
~/src/go-statsd-client> go install
go install: no install location for directory /Users/me/src/go-statsd-client outside GOPATH

프로젝트의 구조에 관계없이 항상 동일한 메시지로 실패합니다. Go 빌드는 완벽하게 작동합니다.

여기, 내 것이요 go env

GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/me/gopath"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.1.1"
GOTOOLDIR="/usr/local/Cellar/go/1.1.1/pkg/tool/darwin_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-common"
CGO_ENABLED="1"

이것은 Mac OSX Mountain Lion에 있으며 homebrew와 함께 설치되었습니다.



답변

에 인수를 제공하지 않으면 go install기본적으로 현재 디렉토리에 패키지를 설치하려고 시도합니다. 현재 디렉토리가의 일부가 아니기 때문에 오류 메시지가 표시되지 않습니다 $GOPATH.

다음 중 하나를 수행 할 수 있습니다.

  • $GOPATH$ HOME ( export GOPATH=$HOME)으로 정의하십시오 .
  • 소스를 현재 $GOPATH( mv ~/src/go-statsd-client /User/me/gopath) 내로 이동하십시오 .

어느 쪽이든 go-statsd-client디렉토리 로 들어가서 go install입력 go install go-statsd-client하면 파일 시스템의 어느 곳에서나 입력 할 수 있습니다. 내장 바이너리는로 들어갑니다 $GOPATH/bin.

관련이없는 제안으로, 이름 충돌을 피하기 위해 패키지 이름을 도메인 이름으로 네임 스페이스하고 싶을 것입니다 (예 : github.com/you/go-statsd-client소스 코드를 보유하고있는 경우).


답변

모든 OS X 사용자 및 향후 저에게 GOBIN설치시 혼란스러운 메시지가 표시되지 않도록 설정해야합니다.go get

mkdir bin
export GOBIN=$GOPATH/bin


답변

당신이 사용하는 설치 가서 GOPATH 폴더 외부의 디렉토리에. GOBIN env 변수를 설정하거나 src 폴더를 GOPATH 로 이동 하십시오.

GOPATH/
     bin/
     src/
       go-statsd-client/

추가 정보 : GO 빌드 소스 코드 , 296 행


답변

당신은 설정 모두에 필요 GOPATH하고 GOBIN. (교체하십시오 다음을 수행했는지 확인 ~/go선호와 GOPATH연속적 변화 GOBIN). 에 테스트되었습니다 Ubuntu 16.04 LTS.

export GOPATH=~/go

mkdir ~/go/bin

export GOBIN=$GOPATH/bin

선택한 답변으로 문제가 해결되지 않았습니다.


답변

선택한 GOPATH 디렉토리 안에 3 개의 디렉토리가 있어야합니다.

GOPATH
     /bin
     /src
       /someProgram
        program.go
       /someLibrary
        library.go
     /pkg

그런 다음 go installsomeProgram (실행 파일을 bin에 저장) 또는 someLibrary (라이브러리를 pkg에 저장)에서 실행합니다.


답변

Windows 에서이 문제가 발생했습니다.

내 문제는 내 %GOPATH%환경 변수가

C:\Users\john\src\goworkspace

대신에

C:\Users\john\src\goworkspace\

끝에 누락 된 후행 슬래시를 추가하면 문제가 해결되었습니다.


답변

가치있는 것을 위해 여기에 Homebrew와 함께 설치 한 후 Atom이있는 Mac에서 잘 작동하는 .bash_profile이 있습니다.

export GOROOT=`go env GOROOT`
export GOPATH=/Users/yy/Projects/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN