(2018 年第 2 四半期: vgo (現在は「モジュール」) projectでは、プロジェクト ベースのワークフローを支持して非推奨になる可能性があることに注意してください。これにより、2 年前に以下で提案GOPATH
していた手動のプロジェクト ベースを回避できます)GOPATH
Go 1.11 (2018 年 8 月) ではGOPATH
、モジュールを使用してオプションにすることができます。
Linux/Unix 環境用のHerbert Fischer ( )によるManage multiple GOPATH dirs with easyで表現された同様のアイデアがあります (上記のコメントで既に言及されている質問に基づいています)。hgfischer
~/.bashrc
(または)に次のスニペットを含めて~/.bash_profile
、シェル環境を でリロードするだけsource ~/.bashrc
です。このスニペットは、入力されたディレクトリをスキャンするカスタマイズされたコマンドで
組み込みコマンドをオーバーライドするシェル関数を作成し、.cd
.gopath
cd () {
builtin cd "$@"
cdir=$PWD
while [ "$cdir" != "/" ]; do
if [ -e "$cdir/.gopath" ]; then
export GOPATH=$cdir
break
fi
cdir=$(dirname "$cdir")
done
}
.gopath
これで、必要なすべてのディレクトリにファイルを作成するだけGOPATH
で、このディレクトリに入るたびに、再定義cd
された関数がGOPATH
現在の環境の をこのディレクトリに設定します。
2017 の更新: 環境を変更したくない場合でも、Visual Studio Code (マルチプラットフォーム IDE であるvscodeGOPATH
) でそのプロジェクトのフォルダーを開き、拡張子 " Visual Studio Code に移動します」。src
その IDE では、次のことができます。
GOPATH
と呼ばれる設定で、独自のグローバルを維持しますgo.toolsGopath
。
GOPATH
と呼ばれる設定で現在の状況を推測しますgo.inferGopath
そうすれば、VSCode はグローバルにツールのコレクションをインストールしますGOPATH
(VSCode の外部でも使用できるようにします)。「 Go 拡張機能が依存する Go ツール
」を参照してください: , , , ...godep
golint
guru
godoc
それでも、あなたGOPATH
のプロジェクトは src の親フォルダーになります。
これは、IDE からプロジェクトをコンパイル/インストールするときに機能します。
コマンドラインから実行したい場合は、上記の元の回答が引き続き適用されます。