1. ホーム
  2. go

[解決済み] GOBINが設定されていない:go installを実行できない

2022-02-26 01:31:49

質問

私のmain.goファイル用にカスタムパッケージをインストールしようとしています。しかし

go install custom.go

こんなエラーが出ました

go install: no install location for .go files listed on command line (GOBIN not set)

GOBINはどのように設定するのですか?

解決方法は?

2020年のアップデート:Go 1.11以降、そして Go モジュールの導入 , GOPATH はプロジェクトごとに不要になり はデフォルトで ~/go グローバルツール/プロジェクトでは、次のようになります。 go get .

Go 1.16 (2020年第1四半期) はデフォルトで GOBIN から GOPATH[0]/bin .

しかし、今のところ、モジュールを使用するプロジェクトでは、" のようなエラーメッセージは表示されません。 go install: no install location ... ということになります。


2014年のオリジナル回答です。

を確認してください。 GOPATH 変数を使用します。
確認してください。

  • ソースは GOPATH/src
  • をお持ちです。 bin フォルダをGOPATHフォルダ内に作成します。

参照 GOPATH環境変数 (ここで 'DIR' は GOPATH フォルダー)。

は、その bin ディレクトリには、コンパイルされたコマンドが格納されています。
各コマンドは、ソースディレクトリの名前を持ちますが、パス全体ではなく、最後の要素にのみ名前を付けます。つまり、ソースを持つコマンドは DIR/src/foo/quux がインストールされるのは DIR/bin/quux ではなく DIR/bin/foo/quux . というのは、" foo/ を追加できるように、接頭辞が除去されます。 DIR/binPATH をクリックして、インストールされたコマンドを取得します。

<ブロッククオート

もし GOBIN 環境変数が設定されている場合、コマンドはこの環境変数が指定するディレクトリにインストールされます。 DIR/bin . GOBIN は絶対パスでなければならない。


例えば 本スレッド の外側でビルドを行った場合に何が起こるかを示しています。 GOPATH/src :

<ブロッククオート

のようですね。 GOPATH が設定されています。 ~/go を実行しましたが go install コマンドを ~/dev/go

参照 ビルドする

Goパスは、Goのソースコードを含むディレクトリツリーのリストです。標準の Go ツリーで見つからないインポートを解決するために参照されます。

を行った場合 go build を使用することもできます。 go install (いいえ custom.go ): 単一のファイルではなく、パッケージをインストールしたいのです。