晴れ
2024.08.02
109
はじめまして、晴れです。
今回はトラブルから開発環境の作り直しを行ったので、今まで使ってきた環境から変更した中でお気に入りになったツールを紹介します。
自機の開発環境作り直しにともない、ランタイムバージョン管理ツールをasdf
からmiseに乗り換えることにしました。
Dockerでのランタイム切り替えが主流になりつつあるようですが、手元で手軽にコードを書いて動かしてみたいのでまだまだランタイム管理ツールにも利点はあると思います。
これまでツール利用は**env
→ anyenv
→ asdf
とそれぞれ変遷してきたのですが、今回mise
を選んだ理由は以下になります。
asdf
互換使用してみて2番の恩恵を実感しました。
公式でCorePluginsとして利用可能な言語は限られているのですが、asdf
の資産が利用可能なのでコア以外の言語も管理できるようになります。
実際asdf-lua
をインストールしてみたところ問題ありませんでした。
実際にCorePluginsを一覧表示した結果
❯ mise plugins ls --core
bun
deno
erlang
go
java
node
python
公式ドキュメントにあるように、自環境に合わせてインストールを行ってください。
mise
はRustで実装されたツールですので、Rustのビルド&パッケージマネージャーであるcargo
を利用するのが手軽で良いと思います。
cargo install mise
30Second Demoを一度視聴してください。おおよその動作が掴めます。
管理コマンドは個人比でasdf
よりもわかりやすいですし、コマンド数も少なめなところが気に入っています。
インストールしたいランタイムの確認をして、
mise plugin ls-remote #-> 利用可能なランタイム一覧表示
mise ls-remote nodejs #-> 目的の言語のバージョン一覧表示
インストール。
メジャーまたはマイナーバージョンを指定しない場合はlatestバージョンを優先してインストールされます。
mise install node@20 #-> ver.20の最新マイナーバージョンがインストールされる
グローバルまたはワーキングディレクトリにインストールしたバージョンを指定したい場合は以下のように。
$XDG_CONFIG_HOME/mise/config.toml
または、ワーキングディレクトリ直下に作成される.mise.toml
に設定した内容は追記管理されます。
mise use -g node@20 #-> グローバルでnode.js ver.20 を使用
mise use node@20 #-> ワーキングディレクトリでnode.js ver.20 を使用
またはmise install
を行わずに、mise use
だけでランタイムのインストールと設定まで完了できます。偉い。
これができるのでお気に入りポイント加算しました。
ランタイムが不要な場合は削除しましょう。
config.toml
または.mise.toml
は削除されませんので、適時修正してください。
mise uninstall node@20
今のところmise
に変更して良かったという感想しかありません。互換性の恩恵と少ないコマンドで導入し易いですし、管理ファイルもdirenv
の使用感と変わらないことに助かっています。
IDEサポートなど他にも機能があるので調べながらさらに使い込んでいきたいです。
ぜひ公式ドキュメントを読んで導入検討してみてください。おすすめします。