4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ミライトデザインAdvent Calendar 2024

Day 14

mise(ミーズ) | Rust製の開発環境のセットアップツールの導入

Last updated at Posted at 2024-12-14

この記事はミライトデザイン Advent Calendar 202414日目の記事です。
13日目はブッチさんの「【AI検索エンジン】Perplexityで学ぶ次世代での情報収集術」という記事でした。

Perplexity(パープレキシティ) サービスは初めて知りました👀
今まで調べ物はググってましたが、これからはパプる時代かもしれません...!

はじめに

プログラミング言語のバージョン管理で、複数ツールを使い分けるのに苦労していませんか?
miseはシンプルかつ効率的なバージョン管理を提供する、Rust製の開発環境のセットアップツールです。

mise(ミーズ) とは

  • Rust製で高速かつ軽量
  • プログラミング言語や開発ツールの管理
  • 環境変数の管理
  • タスクランナー
    • Taskfile のようなタスクランナーをこなす
    • ファイルの変更も検知可能

miseはRustで開発されたプログラミング言語のバージョン管理ツールです。
発音は「Meez(ミーズ)」または「mise-en-place(ミーズアンプレース)」と読みます。
フランス語の料理用語で「セットアップ」、「所定の場所に置く」という意味があるそうです。

以前は「rtx」と呼ばれていましたが、NVIDIA RTXグラボと名前が被るため変更されたとのことです。
類似のツールとしてはanyenvasdfanyenvがあります。

他ツールの設定ファイルの互換性があるので、導入はスムーズです!

インストール

次のコマンドでインストールできます。

$ 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 を配置すれば良いです。

.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 とファイルを設置するとグローバル設定が行えます。

~/.config/mise/config.toml
[tools]
node = "23.4.0"

グローバル設定ファイルに書いた場合も mise install でインストールできます。

$ mise install

コマンドからインストールしたい場合は -g オプションを付けてるとグローバル設定ファイルに追記されます。

$ mise use node@23.3.0 -g

環境変数の管理

このように環境変数を設定できます。

.mise.toml
[env]
ENV_NAME = "develop"
$ echo $ENV_NAME
local

dotenv

direnv に対応しています。

.mise.toml
[env]
mise.file = ".env"
.env
ENV_NAME=develop
$ echo $ENV_NAME
local

タスクランナー

.mise.toml
[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"

setupbuild のタスクを登録しています。

$ mise run setup
$ mise run build

タスクランナーは mise run で実行できます。
bunpre-commit をサンプルで入れてます。

補足

mise WARN gpg not found, skipping verification

$ mise install
mise WARN  gpg not found, skipping verification
...

次のような警告が表示された場合は電子署名をチェックするコマンドがないだけなので、 gnupg をインストールしてください。

$ brew install gnupg2

さいごに

15日目は tkek321 さんの記事です!
お楽しみに!

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?