この投稿では「mise」をもっと便利に使う方法についてお話ししたいと思います。開発者の皆さんは、日々の作業でさまざまなツールやライブラリを使い分けていることでしょう。そんな時、miseがとても役立つツールです。しかし、特定のバージョンを使いたい時にいちいちバージョン番号を覚えておかないといけないのは少し面倒ですよね。今回は、そんな小さなストレスを解消する方法をご紹介します。
miseとは
まず、「mise」とは何かについて軽く触れておきましょう。「mise」は開発環境において、さまざまなツールやライブラリのバージョン管理を簡単にするためのツールです。特に複数プロジェクトを同時に進めている場合、プロジェクトごとに異なるバージョンのツールを使い分ける必要があり、そういう時に「mise」は非常に便利です。
課題「mise use
でバージョンが思い出せない!」
具体的な使い方としては、mise use ツール名@バージョン
の形式で特定のツールを有効化することが一般的です。しかし、この方法には小さな課題があります。それは、使用したいツールのバージョン番号を正確に覚えておく必要がある1ことです。開発を進める中で、ぱっとバージョンが思い出せないことも少なくありません。こういうのが個人的にチリツモでストレスになるところです。
mise useを楽にする方法
この課題を解決するため、便利な関数を定義します。この関数を使えば、バージョン番号を覚えておかなくても、簡単に任意のバージョンを有効化することができます。
関数の定義は以下のようになります:
mise-select() { [[ -z "$1" ]] && return 1 || mise use "$1@$(mise ls-remote "$1" | sort -rV | fzf)" }
使い方
例えば、Node.jsのバージョン一覧から特定のバージョンを選んでmise use
したい場合は、以下のようにコマンドを実行します。
mise-select node
実行すると、まずNode.jsのバージョン一覧が表示されます。ここで、fzfを使って表示された一覧から好きなバージョンを選ぶだけです。選択すると、そのバージョンのNode.jsが自動的にuse
されるようになります。めちゃ楽です。
動作の様子は↓動画のようなかんじになります。
必要なもの
この方法を使うためには、fzfコマンドが必要です。fzfは、コマンドラインから簡単にリストをフィルタリングして選択するためのツールです。まだインストールしていない場合は、事前にインストールしておくことをお勧めします。
Homebrewならbrew install fzf
で入れられます。もちろんmise use fzf@latest
でも入ります。
おわり
この小さな工夫によって、日々の開発が少しでも楽になれば幸いです。mise
の便利さをもっと活かして、快適な開発ライフを送りましょう!
-
mise use --fuzzy [ツール名]@[メジャーバージョン]
でおおまかなバージョンを指定することも一応可能です。 ↩