[OSS紹介#63] mise-en-place:開発環境をスムーズに管理するためのツールの魅力

この記事について

この記事では、注目すべきオープンソースソフトウェア(OSS)を定期的に紹介していくシリーズの一環として、今回は「mise-en-place」にスポットを当てます。このツールは、開発者が効率的に開発環境を構築し、管理できるように設計されており、さまざまなプログラミング言語やツールを一元管理することが可能です。

現代のソフトウェア開発において、多様な言語やフレームワークが用いられ、プロジェクトごとに異なる開発環境を必要とすることが一般的です。このようなニーズに応えるために、mise-en-placeは、環境変数の管理やタスクの実行を簡素化し、開発の生産性を向上させる役割を果たします。

今回の紹介を通じて、mise-en-placeがどのようにして開発者のワークフローを改善し、プロジェクトの管理を効率的に行えるのか、その魅力と実際の活用方法について掘り下げていきます。ぜひ最後までご覧ください。

リンク:https://github.com/jdx/mise


本コンテンツは、弊社AI開発ツール「IXV」を用いたOSSツール紹介です。情報の正確性には努めておりますが、内容に誤りが含まれる可能性がございますのでご了承ください。

1. mise-en-placeでできること

1.1 開発ツールの管理

mise-en-placeは、複数の開発ツールを管理するためのソリューションです。これは、asdfnvmpyenvのように、Node.jsやPython、CMake、Terraformなどの開発ツールを簡単にインストールし、バージョンを切り替えることができます。特に、特定のバージョンのツールを指定して使用できる点が特徴です。

1.2 環境変数の管理

また、プロジェクトごとに異なる環境変数を管理する機能も持っています。これにより、プロジェクトのディレクトリごとに設定された環境変数を簡単に切り替えることができます。mise.tomlファイルを使用して、環境変数を定義できます。

1.3 タスクの管理

さらに、makeのように、プロジェクトのビルドやテストに使用するタスクを管理することができます。これにより、プロジェクトのビルドプロセスを効率化し、再現性の高い実行環境を構築できます。タスクは特定のコマンドを格納し、簡単に実行できるようにするための機能です。

2. セットアップ手順

2.1 インストール

まず、mise-en-placeをインストールするには、次のコマンドを実行します。

curl https://mise.run | sh

インストールが完了したら、バージョンを確認します。

~/.local/bin/mise --version

デフォルトでは、miseは~/.local/binにインストールされます。PATHに追加する必要はなく、miseが自動的に自身のディレクトリをPATHに加えます。MISE_DATA_DIRXDG_DATA_HOMEを利用してインストール先を変更することも可能です。

2.2 シェルへの統合

次に、使用しているシェルにmiseを統合します。以下のコマンドを実行して、シェルの設定ファイルに追加します。

Bashの場合:

echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc

Zshの場合:

echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc

Fishの場合:

echo '~/.local/bin/mise activate fish | source' >> ~/.config/fish/config.fish

PowerShellの場合:

echo '~/.local/bin/mise activate pwsh | Out-String | Invoke-Expression' >> ~/.config/powershell/Microsoft.PowerShell_profile.ps1

2.3 動作環境とライセンス

miseは、macOS、Linux、Windowsで動作します。また、オープンソースライセンスのもとで提供されています。詳細なライセンス情報はこちらを参照してください。

3. 簡単な使い方

3.1 コマンドの実行

特定のツールを使ってコマンドを実行するには、以下のようにします。

mise exec node@22 -- node -v

これにより、Node.jsのバージョン22がインストールされていることが確認できます。

3.2 ツールのインストール

ツールをインストールするには、次のコマンドを使用します。

mise use --global node@22 go@1

これで、Node.jsとGoがインストールされ、バージョンを確認することができます。

3.3 環境変数の設定

環境変数を設定する場合は、次のようにmise.tomlファイルを作成し、変数を定義します。

[env]
SOME_VAR = "foo"

環境変数を変更するには、次のコマンドを使用します。

mise set SOME_VAR=bar

3.4 タスクの実行

タスクを実行するには、以下のようにタスクを定義したmise.tomlファイルを作成します。

# mise.toml
[tasks.build]
description = "build the project"
run = "echo building..."

このタスクを実行するには、次のコマンドを使います。

mise run build

4. 結論

mise-en-placeは、開発環境を効率的に管理するための強力なツールです。開発ツールのバージョン管理、環境変数の設定、タスクの管理を一元化することで、開発者はより生産的な環境を構築できます。興味のある方は、公式ドキュメントを参照し、ぜひ導入を検討してみてください。