mac上でgolangのバージョンを切り替えながら開発するためにgoenv
が便利です。goenvを用いれば、指定のgolangのバージョンにすぐに切り替えることができます。
そんなgoenvを久しぶりに使用しようと思って、goenvコマンドを実行してみたのですが、最新のgoのバージョンが表示されません。(この記事を書いている時点での最新バージョンは1.16.4
でしたが、表示された最新のバージョンは 1.12beta1
でした)
$ 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.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.3 1.7.4 1.7.5 1.8.0 1.8.1 1.8.3 1.8.4 1.8.5 1.8.7 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.10.0 1.10beta2 1.10rc1 1.10rc2 1.10.1 1.10.2 1.10.3 1.10.4 1.10.5 1.10.6 1.10.7 1.11.0 1.11beta2 1.11beta3 1.11rc1 1.11rc2 1.11.1 1.11.2 1.11.3 1.11.4 1.12beta1
最新のバージョンがインストールできないと大問題です。
ということで、こちらのissueを参考にしつつ試行錯誤してみました。
brew update && brew upgrade goenv
とりあえず無理やりバージョンを指定してみました。
$ goenv install 1.16.0 go-build: definition not found: 1.16.0 See all available versions with `goenv install --list'. If the version you need is missing, try upgrading goenv: brew update && brew upgrade goenv
お、brew update && brew upgrade goenv
をおすすめされたので、実行してみる
$ brew update && brew upgrade goenv Already up-to-date. Warning: goenv 1.23.3 already installed
ダメそうな感じは出てますが試してみます。
$ 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.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.3 1.7.4 1.7.5 1.8.0 1.8.1 1.8.3 1.8.4 1.8.5 1.8.7 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.10.0 1.10beta2 1.10rc1 1.10rc2 1.10.1 1.10.2 1.10.3 1.10.4 1.10.5 1.10.6 1.10.7 1.11.0 1.11beta2 1.11beta3 1.11rc1 1.11rc2 1.11.1 1.11.2 1.11.3 1.11.4 1.12beta1
はい、ダメでした。
brew install --HEAD goenv
issueにはbrew install --HEAD goenv
でいけるっぽいことも書かれていたので試してみました。
$ brew install --HEAD goenv ==> Cloning https://github.com/syndbg/goenv.git Cloning into '/Users/ponkotsu/Library/Caches/Homebrew/goenv--git'... ==> Checking out branch master Already on 'master' Your branch is up to date with 'origin/master'. Warning: Your Xcode (12.0) is outdated. Please update to Xcode 12.4 (or delete it). Xcode can be updated from the App Store. Warning: A newer Command Line Tools release is available. Update them from Software Update in System Preferences or run: softwareupdate --all --install --force If that doesn't show you any updates, run: sudo rm -rf /Library/Developer/CommandLineTools sudo xcode-select --install Alternatively, manually download them from: https://developer.apple.com/download/more/. You should download the Command Line Tools for Xcode 12.4. Error: goenv 1.23.3 is already installed To install HEAD-bd90ec1, first run: brew unlink goenv Warning: Skipping (old) /usr/local/Cellar/goenv/1.23.3 due to it being linked
goenvのバージョンが変わらなかったのでダメでした。
brew uninstall goenv && brew install --HEAD goenv
issueの下の方に、一度アンインストールしてインストールし直すと良いみたいなことが書かれていたので試してみます。
$ brew uninstall goenv Uninstalling /usr/local/Cellar/goenv/1.23.3... (158 files, 264.5KB)
まずは、アンインストール完了です。サクッと終わります。
$ brew install --HEAD goenv ==> Cloning https://github.com/syndbg/goenv.git Updating /Users/ponkotsu/Library/Caches/Homebrew/goenv--git ==> Checking out branch master Already on 'master' Your branch is up to date with 'origin/master'. HEAD is now at bd90ec1 Add 1.16.4 and 1.15.12 (#178) Warning: Your Xcode (12.0) is outdated. Please update to Xcode 12.4 (or delete it). Xcode can be updated from the App Store. Warning: A newer Command Line Tools release is available. Update them from Software Update in System Preferences or run: softwareupdate --all --install --force If that doesn't show you any updates, run: sudo rm -rf /Library/Developer/CommandLineTools sudo xcode-select --install Alternatively, manually download them from: https://developer.apple.com/download/more/. You should download the Command Line Tools for Xcode 12.4. 🍺 /usr/local/Cellar/goenv/HEAD-bd90ec1: 250 files, 447.8KB, built in 6 seconds
インストール完了です。goenvのバージョンを確認してみましょう。
$ goenv -v goenv 2.0.0beta11
おおお!2.0系がインストールされました!
さっきまでは、いくら頑張っても1.23系しか入らなかったので、大きな進歩!これは行けそうですね!
$ 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.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.3 1.7.4 1.7.5 1.8.0 1.8.1 1.8.3 1.8.4 1.8.5 1.8.7 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.10.0 1.10beta2 1.10rc1 1.10rc2 1.10.1 1.10.2 1.10.3 1.10.4 1.10.5 1.10.6 1.10.7 1.10.8 1.11.0 1.11beta2 1.11beta3 1.11rc1 1.11rc2 1.11.1 1.11.2 1.11.3 1.11.4 1.11.5 1.11.6 1.11.7 1.11.8 1.11.9 1.11.10 1.11.11 1.11.12 1.11.13 1.12.0 1.12beta1 1.12beta2 1.12rc1 1.12.1 1.12.2 1.12.3 1.12.4 1.12.5 1.12.6 1.12.7 1.12.8 1.12.9 1.12.10 1.12.11 1.12.12 1.12.13 1.12.14 1.12.15 1.12.16 1.12.17 1.13.0 1.13beta1 1.13rc1 1.13rc2 1.13.1 1.13.2 1.13.3 1.13.4 1.13.5 1.13.6 1.13.7 1.13.8 1.13.9 1.13.10 1.13.11 1.13.12 1.13.13 1.13.14 1.13.15 1.14.0 1.14beta1 1.14rc1 1.14.1 1.14.2 1.14.3 1.14.4 1.14.5 1.14.6 1.14.7 1.14.8 1.14.9 1.14.10 1.14.11 1.14.12 1.14.13 1.14.14 1.14.15 1.15.0 1.15beta1 1.15rc2 1.15.1 1.15.2 1.15.3 1.15.4 1.15.5 1.15.6 1.15.7 1.15.8 1.15.9 1.15.10 1.15.11 1.15.12 1.16.0 1.16beta1 1.16.1 1.16.2 1.16.3 1.16.4
入れたかった最新バージョンである1.16系が表示されました!
$ goenv install 1.16.4 Downloading go1.16.4.darwin-amd64.tar.gz... -> https://golang.org/dl/go1.16.4.darwin-amd64.tar.gz Installing Go Darwin 64bit 1.16.4... Installed Go Darwin 64bit 1.16.4 to /Users/ponkotsu/.goenv/versions/1.16.4
さあ、バージョンを確認してみましょう!
$ go version go version go1.11.4 darwin/amd64
あれ、バージョンアップされてないぞ・・・!
goenv globalで指定しないといけないのを忘れてました。。
$ goenv global 1.16.4 $ go version go version go1.16.4 darwin/amd64
いええええええええい!!!やっとmacのローカル上のgo言語を最新にバージョンアップすることができました!