164
~/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 にあり、go は自作でインストールされました。

4

12 に答える 12

210

GOBINOS X ユーザーと将来の私のために、インストール時にこの紛らわしいメッセージを回避するように設定する必要があります。go get

mkdir bin 
export GOBIN=$GOPATH/bin
于 2015-09-02T15:18:12.237 に答える
119

に引数を指定しない場合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、ソースコードを保持している場合)。

于 2013-08-10T17:03:14.467 に答える
30

GOPATH フォルダー外のディレクトリでgo installを使用しています。GOBIN 環境変数を設定するか、srcフォルダーを GOPATH 内に移動します。

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

詳細: GO BUILD ソース コード、296 行目

于 2013-08-09T16:15:43.180 に答える
3

Windowsでこの問題が発生しました。

私の問題は、%GOPATH%環境変数がに設定されていることでした

C:\Users\john\src\goworkspace

それ以外の

C:\Users\john\src\goworkspace\

最後に不足している末尾のスラッシュを追加すると、修正されました。

于 2015-06-13T02:05:55.793 に答える