anyenvと各envツールの一括アップデート
|
現在のプロジェクトでanyenvを使って各言語のバージョンを管理しています。
最近はとあるアプリケーションで使われている言語のバージョンが上がったため、これを期に他の言語のバージョン管理ツールをアップデートしようと思い立ちました。
anyenv-update というプラグインがあり、それをインストールすることで簡単にanyenvと各バージョン管理ツールのアップデートができるようになります。
anyenv-updateのインストール
anyenvの実態があるディレクトリにpluginsという名前のディレクトリを作成し、git cloneします。
mkdir -p $(anyenv root)/plugins
git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
anyenv-updateの実行
anyenv update
を実行すると、下記のように複数のenvツールを一括アップデートしてくれます。
anyenv update
# ↓出力結果
Skipping 'anyenv'; not git repo
Updating 'anyenv/anyenv-update'...
Updating 'goenv'...
| From https://github.com/syndbg/goenv
| f914e34..a33218b master -> origin/master
Skipping 'goenv/go-build'; not git repo
Updating 'nodenv'...
| From https://github.com/nodenv/nodenv
| 2578d8d..96c85a8 master -> origin/master
| * [new branch] feature/lts-alias-tests -> origin/feature/lts-alias-tests
Updating 'nodenv/node-build'...
| From https://github.com/nodenv/node-build
| 5c9809ce..4fe8d06f master -> origin/master
| * [new branch] lowjs -> origin/lowjs
| * [new branch] quickjs -> origin/quickjs
| * [new tag] v4.9.0 -> v4.9.0
| * [new tag] v4.8.1 -> v4.8.1
| * [new tag] v4.8.2 -> v4.8.2
| * [new tag] v4.8.3 -> v4.8.3
Updating 'nodenv/nodenv-default-packages'...
Updating 'nodenv/nodenv-vars'...
Updating 'tfenv'...
| From https://github.com/tfutils/tfenv
| 45a8ad7..4f1ef20 master -> origin/master
| * [new branch] list-remote-curl-errors -> origin/list-remote-curl-errors
| * [new tag] v2.0.0 -> v2.0.0
Updating 'anyenv manifest directory'...
まとめ
これまでバージョン管理ツールを個別にアップデートしていたのですが、まとめてアップデートできるのは非常に便利だなと感じました。
プライベートでもanyenvに移行しようかなと思い始めています。