Rust 製 asdf 互換ソフト Mise

Mise について

  • asdf の互換ソフト
    • asdf っていうのはrbenv rvm nodenv nvm などと同じようなもので、複数のバージョンのプログラミング言語をプロジェクトごとに切り替えて利用することができるソフトです
    • asdf は rbenv rvm nodenv nvm などの単一種類のプログラミング言語しか切り替えができないソフトと異なり、複数のプログラミング言語を切り替えることができます
  • 以前は rtx という名前のソフトでしたが、名前が変わり、今はmise といいます。古い記事はrtx で検索すると出てきます
  • Rust で書かれていて高速なはず

インストール

変わってるといけないので公式を見て下さい

https://mise.jdx.dev/getting-started.html

公式推奨の方法

curl https://mise.run | sh

清水はmacOS に brew で入れました

brew install mise

使い方

  • asdf とだいたいいっしょっです
  • nodejs ではなくnode でも動きます。
  • .node-version でも .tool-versions でもどっちでも動きます。~/.asdfrc に、legacy_version_file = yes をかく必要がありません。
mise install node
# または
# mise install nodejs

emacs で使う

恒例emacs コーナー

  • adf とコマンド体系が一緒ななので、 https://github.com/tabfugnic/asdf.el が利用できます。
  • home brew で入れた人はmise が /opt/homebrew/bin/mise に入っているので、それを指定します。
(use-package asdf
  :straight (:host github :repo "tabfugnic/asdf.el")
  :config
  (setq asdf-path (expand-file-name "~/.local/share/mise"))
  (setq asdf-binary "/opt/homebrew/bin/mise")
  (asdf-enable))

所感

  • install は asdf と同じくらいの時間かかる => 全コア持っていかれて、asdf よりもPCが遅くなる気がする
  • cd した際のバージョンスイッチは、はasdf より早い気がする

追記

node 14x は、x86_64しか提供されていないので、M1 mac で使う場合は、一工夫必要です。
asdf はasdf はシェルスクリプトで書かれているので、下記のようなコマンドでインストールが可能です。

$ arch -x86_64 asdf install nodejs 14.18.3

清水は brew を x86_64 でもインストールしているので、mise のx86_64版も一緒にインストールすることで、共存を行うことにしました

$ arch -x86_64 /usr/local/bin/brew install mise
$ /usr/local/bin/mise --version
2024.3.1 macos-x64 (2024-03-04)
$ /usr/local/bin/mise install node 14.18.3
この記事をシェア

弊社では、一緒に会社を面白くしてくれる仲間を募集しています。
お気軽にお問い合わせください!