miseとは?
- 究極のツール管理
課題感
- 開発ツールはプロジェクトごとに必要なバージョンが異なるのでシステム全体にインストールしたくない。
- プロジェクトが要求するツールを開発者の間で共有し、開発環境の再現性を高める。
Benefits
- とにかく痒い所に手が届く。
- グローバル設定とプロジェクト設定、共有設定と個人設定で区分けがしっかり出来る。
Principals
- 複数バージョンの共存、バージョン固定や他人との共有が必要ないツールは管理しない。OSのパッケージマネージャ(Homebrew, WinGet)で管理する。
miseの有効化
シェルにおいて有効化するのは簡単だ。問題はIDEなどGUIアプリからツールを参照するときや、特定のプロジェクトに属さないツールをアプリから参照するとき。
- 例: Obsidianプラグインが要求するNodeはシステム全体の最新版を使いたいので、インストールされている最新版を指す
node
バイナリが必要。
Shims
- グローバル設定のツールの参照用
- OSのPATHに追加する