この記事はミライトデザイン Advent Calendar 202414日目の記事です。
13日目はブッチさんの「【AI検索エンジン】Perplexityで学ぶ次世代での情報収集術」という記事でした。
Perplexity(パープレキシティ) サービスは初めて知りました👀
今まで調べ物はググってましたが、これからはパプる時代かもしれません...!
はじめに
プログラミング言語のバージョン管理で、複数ツールを使い分けるのに苦労していませんか?
miseはシンプルかつ効率的なバージョン管理を提供する、Rust製の開発環境のセットアップツールです。
mise(ミーズ) とは
miseはRustで開発されたプログラミング言語のバージョン管理ツールです。
発音は「Meez(ミーズ)」または「mise-en-place(ミーズアンプレース)」と読みます。
フランス語の料理用語で「セットアップ」、「所定の場所に置く」という意味があるそうです。
以前は「rtx」と呼ばれていましたが、NVIDIA RTXグラボと名前が被るため変更されたとのことです。
類似のツールとしてはanyenvやasdfやanyenvがあります。
他ツールの設定ファイルの互換性があるので、導入はスムーズです!
インストール
次のコマンドでインストールできます。
$ curl https://mise.run | sh
$ ~/.local/bin/mise --version
Homebrewからインストールもできます。
(わたしはHomebrewからインストールしてます)
$ brew install mise
$ mise --version
2024.12.9 macos-arm64 (2024-12-14)
プログラミング言語や開発ツールの管理
設定ファイル
.mise.toml
ファイルを管理したいプロジェクトディレクトリへ配置します。
(コマンドを実行すると生成されます)
既存プロジェクトに導入する場合は他ツールと共存させるため、asdfで使用される .tool-versions
ファイルもサポートしたり他にも .node-version
や .ruby-version
など個別のレガシーファイルにも対応しています。
新規プロジェクトであれば .mise.toml
を配置すれば良いです。
[tools]
node = "22.12.0"
詳しくは公式の設定ファイルの項目を参照ください。
基本的な使い方(コマンド例+出力例)
インストール可能なプラグイン一覧を表示する
$ mise plugins ls-remote
インストール可能なNodeのバージョン一覧を表示する
$ mise ls-remote node
...
21.7.1
21.7.2
21.7.3
...
22.10.0
22.11.0
22.12.0
...
23.2.0
23.3.0
23.4.0
$ mise ls-remote bun
...
0.7.3
0.8.0
0.8.1
...
1.0.34
1.0.35
1.0.36
...
1.1.36
1.1.37
1.1.38
Node v23 の最新をインストールする
$ mise use node@23
Node v22.12.0 を指定してインストール
$ mise use node@22.12.0
インストールすると .mise.toml
に追記されます。
$ cat .mise.toml
[tools]
node = "22.12.0"
グローバル設定
~/.config/mise/config.toml
とファイルを設置するとグローバル設定が行えます。
[tools]
node = "23.4.0"
グローバル設定ファイルに書いた場合も mise install
でインストールできます。
$ mise install
コマンドからインストールしたい場合は -g
オプションを付けてるとグローバル設定ファイルに追記されます。
$ mise use node@23.3.0 -g
環境変数の管理
このように環境変数を設定できます。
[env]
ENV_NAME = "develop"
$ echo $ENV_NAME
local
dotenv
direnv に対応しています。
[env]
mise.file = ".env"
ENV_NAME=develop
$ echo $ENV_NAME
local
タスクランナー
[tools]
bun = "latest"
pre-commit = "latest"
[tasks.setup]
description = "Setup project"
run = "mise install && pre-commit install && bun install"
[tasks.build]
description = "Build"
run = "ENV_NAME=production API_URL=https://example.com bun build"
setup
と build
のタスクを登録しています。
$ mise run setup
$ mise run build
タスクランナーは mise run
で実行できます。
bun、pre-commit をサンプルで入れてます。
補足
mise WARN gpg not found, skipping verification
$ mise install
mise WARN gpg not found, skipping verification
...
次のような警告が表示された場合は電子署名をチェックするコマンドがないだけなので、 gnupg をインストールしてください。
$ brew install gnupg2
さいごに
15日目は tkek321 さんの記事です!
お楽しみに!