Mac OSでgoenvからgo言語をインストールする
Category:
Last Updated: 2022/01/03 08:58:29
最近になってGo言語を学び始めたので、goenv
とgo
の環境構築についてまとめる。
余談だが、私はpython
ではpyenv
、ruby
ではrbenv
、nodejs
ではnvm
を使っている。
ライブラリによっては依存性の解決のために特定のバージョンが必要になることが多々あるので、基本的に言語ごとのバージョン管理システムが存在する場合は使うことをお勧めしたい。
# goenvのインストール
# Homebrew (アンインストール)
まず、homebrew
でgoenv
をインストールしたが、1.23.3
と古いバージョンが入ってしまった。
Github (opens new window)に最新版へのアップグレード方法が記載されているのだが、この内容だと結局gitリポジトリから最新版を持ってくることになるので、homebrew版はアンインストールしてgitリポジトリから取得し直すことにする。
$ brew upgrade
$ brew install goenv
$ goenv -v
goenv 1.23.3
$ eval "$(goenv init -)"
$ echo 'eval "$(goenv init -)"' >> ~/.bash_profile
1
2
3
4
5
6
2
3
4
5
6
# Git Repos
基本的にはGithubの説明通りにすればよい。
ほぼgit clone
と.bash_profile
への追記だけなので簡単だと思う。
# 1. Check out goenv where you want it installed.
$ git clone https://github.com/syndbg/goenv.git ~/.goenv
# 2. Define environment variable
$ echo 'export GOENV_ROOT="$HOME/.goenv"' >> ~/.bash_profile
$ echo 'export PATH="$GOENV_ROOT/bin:$PATH"' >> ~/.bash_profile
# 3. Add goenv init to your shell to enable shims
$ echo 'eval "$(goenv init -)"' >> ~/.bash_profile
# 4. If you want goenv to manage GOPATH and GOROOT (recommended), add GOPATH and GOROOT to your shell after eval "$(goenv init -)".
$ echo 'export PATH="$GOROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'export PATH="$PATH:$GOPATH/bin"' >> ~/.bash_profile
# 5. Restart your shell so the path changes take effect. You can now begin using goenv.
$ exec $SHELL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
goenv -v
で最新版が入っていることを確認する。
$ goenv -v
goenv 2.0.0beta11
1
2
2
# goのインストール
まず、goenv install -l
でインストールできるバージョンの確認。
$ goenv install -l
Available versions:
1.2.2
1.3.0
1.3.1
1.3.2
1.3.3
1.4.0
1.4.1
1.4.2
1.4.3
1.5.0
....1.16.10
1.17.0
1.17beta1
1.17rc1
1.17rc2
1.17.1
1.17.2
1.17.3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
この記事を書いている時点では 1.17.3
が最新版なので、1.17.3
をインストールする場合は下記のように行う。
$ goenv install 1.17.3
$ goenv global 1.17.3
$ go version
go version go1.17.3 darwin/arm64
1
2
3
4
2
3
4
Category:
Last Updated: 2022/01/03 08:58:29