goenv で最新バージョンの Go が表示されないなら再インストール
はじめに
最近 Go の最新バージョンとして 1.18 がリリースされました。ちょうど新しく個人プロジェクトを始めようと思い、1.18 を使おうとしたところ、バージョンが見つからない。。。ということがありました。
その時の解決策などを備忘録的にまとめていきます。
環境
- MacOS 12.3.1 (21E258)
- goenv (バージョン管理)
事象
私は go のバージョン管理として goenv を使っています。以前に go の環境を構築したときにインストールしていたので、今回も goenv を使って進めようとしたところ思うわぬ事象に遭遇しました。
それは、以下のように最新の go バージョンはどれかなと探そうと思い、インストール可能なバージョン一覧を確認したときに発生しました。
> 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
なんとインストール可能なバージョンが 1.12 までとなっていました。リリースノートを見たところ、本バージョンは2019年2月頃のバージョンであり、現在(2022年4月)から3年以上前のバージョンになります。
原因
原因はすぐにわかりました。
私が使っている goenv のバージョンが古かったようです。
> goenv -v
goenv 1.23.3
既にbetaの2.0が出ているので明らかにこのバージョンが古いようだったので、こちらをバージョンアップすれば解決しそうですね(、、、と思ったのですが、なんとこのあとまたひとハマリありました)。
失敗
ということで、goenv のバージョンアップを試してみました。
が、項番に書いている通り、失敗してしまいました。。。
私は brew で goenv を使っているので、brew でバージョンアップをしようと思い、以下コマンドを実行しました。
> brew update
> brew upgrade goenv
Warning: goenv 1.23.3 already installed
むむむ?
なんと brew で認識している goenv の最新バージョンが 1.23.3 のような感じでした。。。
解決方法
どういうこと??と思い、github の issue を検索していたところ、以下でアンインストールして、 --HEAD してインストールすると最新になるような記述を発見
> brew uninstall goenv
> brew install --HEAD goenv
すると、なにやら良さげなログが出てきました!
Uninstalling /usr/local/Cellar/goenv/1.23.3... (158 files, 265.2KB)
Running `brew update --preinstall`...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
Updated 5 formulae.
==> Cloning https://github.com/syndbg/goenv.git
Cloning into '/Users/yuta519/Library/Caches/Homebrew/goenv--git'...
==> Checking out branch master
Already on 'master'
Your branch is up to date with 'origin/master'.
🍺 /usr/local/Cellar/goenv/HEAD-d4e2dd7: 280 files, 488.8KB, built in 3 seconds
==> Running `brew cleanup goenv`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
Removing: /Users/yuta519/Library/Caches/Homebrew/goenv--1.23.3... (70.7KB)
では、本当に最新の goenv が入ったか確認してみます。
> goenv -v
goenv 2.0.0beta11
やりました!
ありがとう、issue で共有してくれた方!!
これで万事 OK、ありがとうございました。。。。。。。。
と思ったのですが、本来やりたかったことは最新バージョンのgoをインストールでした。
完全に目的をすり替えて忘れてしまっていました。
確認
確認ということで、以下をやってみました。
まずはインストール可能一覧の確認です!
> 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.16.0
1.16beta1
1.16.1
1.16.2
1.16.3
1.16.4
1.16.5
1.16.6
1.16.7
1.16.8
1.16.9
1.16.10
1.16.11
1.16.12
1.16.13
1.16.14
1.16.15
1.17.0
1.17beta1
1.17rc1
1.17rc2
1.17.1
1.17.2
1.17.3
1.17.4
1.17.5
1.17.6
1.17.7
1.17.8
1.18.0
1.18beta1
1.18beta2
1.18rc1
お、1.18 がいらっしゃいますね。
インストールしてみます。
Downloading go1.18.darwin-amd64.tar.gz...
-> https://golang.org/dl/go1.18.darwin-amd64.tar.gz
££££££££££££££££££££££££££££££££££££££££££££££££££££ 100.0%
Installed Go Darwin 64bit 1.18.0 to /Users/yuta519/.goenv/versions/1.18.0
正常にインストールされていそうです。
> goenv versions
* system (set by /Users/yuta519/.goenv/version)
1.18.0
そして、最後にバージョンを切り替えてみます。
> goenv global 1.18.0
Author And Source
この問題について(goenv で最新バージョンの Go が表示されないなら再インストール), 我々は、より多くの情報をここで見つけました https://zenn.dev/utah/articles/b48482864a1e8f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol