iT邦幫忙

2025 iThome 鐵人賽

DAY 20
0
自我挑戰組

攔截記憶碼:每日一小時記錄技術學習系列 第 20

Day 18 - mise:統一開發環境的現代化 asdf 替代方案

  • 分享至 

  • xImage
  •  

攔截源頭

  • 發現管道:Hacker News + GitHub Trending
  • 攔截原因:最近在切換不同專案(有 Python、Node、Rust 混用),每次都要想辦法調版本。之前用過 asdf,但每次裝 plugin 都卡卡。看到很多人推薦 mise 作為 asdf 的現代替代,就決定攔截看看。

技術初探

  • 官方定義:mise is a dev environment manager. It manages your runtime versions, project tools, and environment variables, similar to asdf but faster and more ergonomic.

  • 核心賣點:

    • 兼容 asdf plugin,但啟動速度更快
    • 自動載入 .mise.toml 或 .tool-versions
    • 可同時管理多種語言(Node, Python, Go, Ruby, Rust…)
    • 內建 task runner(可以取代 Makefile 或 npm scripts)
  • 適用場景:

    • 多語言開發專案
    • 想用一個工具統一版本與指令

實戰使用

快速安裝

brew install mise
curl https://mise.jdx.dev/install.sh | sh

Hello World

mise init

在專案目錄建立 .mise.toml:

[tools]
node = "20.10.0"
python = "3.11.8"
rust = "latest"

[tasks]
dev = "npm run dev"
test = "pytest"

載入環境:

mise install
mise run dev

這樣一來,不論你在哪個目錄,都會自動切換對應的語言版本和任務設定。

記憶碼摘要

技術:mise
分類:開發環境管理工具
難度:⭐⭐⭐☆☆(1–5 顆星)
實用度:⭐⭐⭐⭐⭐(1–5 顆星)
一句話:比 asdf 更快的多語言版本管理工具,還能順便跑任務。
關鍵指令:mise install
適用情境:需要快速切換多語言版本或整合專案開發環境。

結語

mise 的使用體驗可以說是「開發者版的幸福感升級」。不用再記不同語言的版本工具指令,也不用切 shell 或開 docker,只要一個 .mise.toml 就能搞定整個開發環境。
接下來我打算試著把它整合進團隊的開發流程,看看能不能統一大家的 Node/Python 版本,減少「版本地獄」問題。


上一篇
Day 17 - parlant:給 AI Agent 用的對話框架
系列文
攔截記憶碼:每日一小時記錄技術學習20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言