Go の GOPATH 環境変数
Go の GOPATH 環境変数とは
GOPATH 環境変数には、Go のワークスペースのルートディレクトリをセットします。
例えば後述のように、 Windows 環境で MSI インストーラを用いて Go をインストールすると自動的に GOPATH 環境変数が作成され、 デフォルトで C:\Users\<ユーザー名>\go がセットされます。
このフォルダの下に bin、 src、 pkg フォルダを作成することで「ワークスペース」を構成します。
Go 1.8 以降はモジュールのインポートを解決するためには GOPATH は使われていません。しかし、 ダウンロードされたソースコードやコンパイルしたコマンドはそれぞれ GOPATH/pkg/mod や GOPATH/bin 以下に保存されます。
Mac OS での GOPATH 環境変数
GOPATH 環境変数は、明示的に作成されていない場合は既定で $HOME/go とされます。
次のコマンド例では、環境変数として GOPATH は作成されていませんが、go コマンドでは GOPATH の既定値が確認できています。
printenv GOPATH
go env GOPATH
/Users/user1/go
明示的に環境変数を設定する場合は、例えば zsh を利用している場合は ~/.zshrc に次を追加します。
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
GOPATH で指定したディレクトリが存在しない場合は作成しておきましょう。
そして、その直下に bin、 src、 pkg ディレクトリを作成しておくと良いでしょう。
Windows での GOPATH 環境変数
GOPATH 環境変数はデフォルトで C:\Users\<ユーザー名>\go になります。Go の MSI インストーラを実行した時にユーザー環境変数として作成されます。
$env:GOPATH
C:\Users\user1\go
このフォルダ自体はインストーラを実行しただけでは作成されません。存在していない場合は作成しましょう。
任意の場所にワークスペースを作成したい場合は適当に作り替えてください。ここでは基本設定としてデフォルトの場所に作成することにします。
PowerShell を開き次のコマンドで、go フォルダを作成します。
cd ~
mkdir go
コマンドプロンプトを利用する場合は、次の通り。
cd %USERPROFILE%
mkdir go