3 ポイント 投稿者 GN⁺ 2024-12-09 | 1件のコメント | WhatsAppで共有

miseとは?

  • miseはasdf、nvm、pyenvと同様に、node、python、cmake、terraformなどさまざまな開発ツールを管理するツール
  • direnvと同様に、プロジェクトディレクトリごとの環境変数を管理
  • makeと同様に、プロジェクトのビルドやテストに使われるタスクを管理

30秒デモ

  • miseを使ってnodeのさまざまなバージョンをインストールする方法を紹介
  • which node コマンドを実行すると実際のパスが返され、shimではない

クイックスタート

  • miseのインストール方法:
    • $ curl https://mise.run | sh
    • $ ~/.local/bin/mise --version コマンドでインストールされたバージョンを確認可能
  • 特定バージョンのインストール:
    • $ curl https://mise.run | MISE_VERSION=v2024.5.16 sh
    • $ ~/.local/bin/mise --version コマンドでインストールされたバージョンを確認可能
  • シェルに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
  • ランタイムのインストールとグローバルデフォルトの設定:
    • $ mise use --global node@20
    • $ node -v コマンドでバージョンを確認可能

全文書

  • mise.jdx.devで全文書を確認可能

1件のコメント

 
GN⁺ 2024-12-09
Hacker Newsの意見
  • mise を使い始めたとき、asdf の欠点を補いつつ、高速で侵襲性の低いシェル設定を提供してくれる点に満足した

    • Task Running と Env Vars 機能が追加され、さらに便利になった
    • 開発者が既存ツールとの互換性を保ちながら将来の機能を構築するために多くの時間を費やしている点が印象的だった
    • 最近はバックエンド機能により、必要な開発ツールを簡単にインストールできるようになって便利になった
  • JS、Ruby、Python、Java SDK の管理のために Mise へ移行し、満足している

    • RVM、NVM、Python インストールツールなどを入れる必要がなく、新鮮に感じた
  • チームのツールチェーンを統一するために mise を使っており、Docker や Nix は使っていない

    • Docker は依然としてサービス実行に使っているが、mise のユーザー体験は素晴らしい
    • すべてのリポジトリスクリプトに自動補完が追加されて便利
  • 何でもやろうとすると、結局は何一つきちんとできない可能性が高い

    • ほとんどの人は、あるエコシステムのパッケージング問題を深く理解していない
    • 開発者は多くのことを知る必要があるが、実際には既存ツールをラップしているにすぎない
  • 開発者ではないので、こうしたツールのユースケースを理解できない

    • asdf を使ってモノレポ内のすべてのプログラムのバージョンを管理しており、UX はいまひとつだが信頼性はある
    • 環境変数は現在のシェルセッションに読み込まず、スクリプトや Makefile を使って必要な変数を読み込み、作業を実行している
    • Make を使ってディレクトリごとに再現可能な小さなコマンドを実行したり、コマンドを並列化したり、順番に実行したりしている
    • シェルスクリプトを使って、Make ターゲットより少し長い、または複雑なツールを書いている
    • 環境全体は asdf さえインストールすれば管理でき、すべてが自動化され、バージョンも固定されている
  • mise を使って Go のバージョンを管理しており、やや分かりにくくドキュメントも不足しているが、悪くない

    • asdf や似たツールを使ったことがないため、学習コストがあるかもしれない
  • miseasdf の代替として使っており、満足している

    • 同じ機能を提供しつつ、より高速で UX も優れている
  • 1年以上使っているが、生活を楽にしてくれたシンプルなツールだ

    • 作者とコントリビューターに感謝している
  • mise を GitHub Actions のワークフローに統合する方法を考えている

    • mise リポジトリのワークフローファイルを見ると、いくつかの mise ステップを追加しているようだ
    • ワークフローファイルを生成できれば、さらに良いと思う
  • プロジェクトの Readme を読んだ後でも、「なぜ?」という疑問が残った

    • Devbox を使って Nix エコシステム全体にアクセスしている