Dark mode
Mise - Runtime Version Management Tool
mise is a CLI tool for managing runtime versions (similar to asdf but faster)
Why Mise
สรุป
Mise เป็นเครื่องมือจัดการเวอร์ชันที่ทันสมัยและครบวงจร:
- ⚡ ทำงานเร็วและมีประสิทธิภาพ
- 🛠️ รองรับหลายภาษาในเครื่องมือเดียว
- 🖥️ ใช้งานง่ายทั้งบน Windows, macOS และ Linux
- 🔄 มีระบบ Automation ในตัว
เปรียบเทียบความสามารถหลักของ Mise กับเครื่องมือจัดการเวอร์ชันอื่นๆ:
ฟีเจอร์ | ||||
---|---|---|---|---|
ความเร็ว | ⚡ เร็ว | ปานกลาง | ช้า | ปานกลาง |
รองรับหลายภาษา | ✅ ใช่ | ใช่ | ไม่ (เฉพาะ Node) | ไม่ (เฉพาะ Python) |
การตั้งค่า | mise.toml | .tool-versions | .nvmrc | .python-version |
รองรับ Windows | ✅ เต็มที่ | จำกัด | จำกัด | จำกัด |
Task Automation | ✅ ในตัว | ❌ ต้องใช้ plugin | ❌ ไม่มี | ❌ ไม่มี |
Environment Variables | ✅ ในตัว | ❌ ไม่มี | ❌ ไม่มี | ❌ ไม่มี |
Plugin System | ✅ ทันสมัย | ✅ มี | ❌ ไม่มี | ❌ ไม่มี |
Shell Integration | ✅ อัตโนมัติ | ❌ ต้องตั้งค่าเอง | ✅ อัตโนมัติ | ❌ ต้องตั้งค่าเอง |
Project Detection | ✅ อัตโนมัติ | ❌ ต้องตั้งค่าเอง | ❌ ต้องตั้งค่าเอง | ❌ ต้องตั้งค่าเอง |
Binary Management | ✅ มี | ❌ ไม่มี | ❌ ไม่มี | ❌ ไม่มี |
ข้อดีหลัก
- ใช้งานง่ายด้วยไฟล์กำหนดค่าแบบ TOML
- รองรับการทำงานแบบอัตโนมัติ
- ออกแบบมาสำหรับนักพัฒนาโดยเฉพาะ
- อัปเดตและพัฒนาอย่างต่อเนื่อง
Installation
sh
# ติดตั้งผ่าน scoop (Windows)
scoop install mise
IDE Integration
Mise มีส่วนขยายอย่างเป็นทางการสำหรับ VSCode ที่ช่วยในการจัดการเวอร์ชัน
สามารถติดตั้งได้จาก VSCode Marketplace
ส่วนขยายนี้จะช่วยจัดการเวอร์ชันโดยอัตโนมัติและเปิดใช้งานเวอร์ชันที่ถูกต้องเมื่อเปิดโปรเจค
Configuration
ไฟล์ [mise.toml]
ใช้สำหรับกำหนดค่าสำหรับโปรเจค โดยสามารถตั้งค่าได้ดังนี้:
toml
[tools]
nodejs = "20.0.0" # ระบุเวอร์ชันที่แน่นอน
python = "3.11" # หรือระบุเฉพาะ major.minor
[env]
NODE_ENV = "development"
PORT = "3000"
# ตั้งค่า plugins
[plugins]
nodejs = "https://github.com/mise-plugins/nodejs"
ตัวอย่างการใช้งานร่วมกับไฟล์ .mise.toml
:
sh
# สร้างไฟล์ config ใหม่
mise init
# ดูค่าปัจจุบันทั้งหมด
mise config show
Features
ฟีเจอร์ | คำอธิบาย | ตัวอย่างการตั้งค่า | สิ่งที่เกิดขึ้น |
---|---|---|---|
จัดการเวอร์ชันของ runtime ต่างๆ | nodejs = "20.0.0" ใน mise.toml | ติดตั้งและสลับเวอร์ชัน runtime อัตโนมัติ | |
รัน task ที่กำหนดไว้ | [tasks] section ใน mise.toml | รันคำสั่งอัตโนมัติตามที่กำหนด | |
จัดการ environment variables | [env] section ใน mise.toml | ตั้งค่าตัวแปรสภาพแวดล้อมให้โปรเจค | |
ตั้งค่าผ่านไฟล์ mise.toml | ไฟล์ mise.toml | โหลดการตั้งค่าเมื่อเข้าโปรเจค | |
จัดการ plugins สำหรับ runtime | [plugins] section ใน mise.toml | ติดตั้งและอัปเดต runtime ต่างๆ |
mise CLI
Version Management
คำสั่ง | คำอธิบาย | ตัวอย่าง | สิ่งที่เกิดขึ้น |
---|---|---|---|
install | ติดตั้งเวอร์ชันรันไทม์ | mise install nodejs@20 | ดาวน์โหลดและติดตั้ง runtime เวอร์ชันที่ระบุ |
global | ตั้งค่าเวอร์ชัน global | mise global [email protected] | ตั้งค่าเวอร์ชันเริ่มต้นสำหรับระบบ |
local | ตั้งค่าเวอร์ชันสำหรับโปรเจค | mise local [email protected] | ตั้งค่าเวอร์ชันเฉพาะโปรเจคในไดเรกทอรีปัจจุบัน |
list | แสดงเวอร์ชันที่ติดตั้งแล้ว | mise list | แสดงรายการ runtime และเวอร์ชันทั้งหมดที่ติดตั้ง |
use | ใช้เวอร์ชันเฉพาะ session | mise use [email protected] | ตั้งค่าเวอร์ชันชั่วคราวสำหรับ session ปัจจุบัน |
tools | จัดการ runtime versions | mise tools list | แสดง/จัดการ runtime ที่ติดตั้งทั้งหมด |
Environment Management
คำสั่ง | คำอธิบาย | ตัวอย่าง | สิ่งที่เกิดขึ้น |
---|---|---|---|
sh | จัดการ environment variables | mise env set NODE_ENV=production | ตั้งค่าหรือแสดงตัวแปรสภาพแวดล้อม |
Task Automation
คำสั่ง | คำอธิบาย | ตัวอย่าง | สิ่งที่เกิดขึ้น |
---|---|---|---|
task | รัน automation tasks | mise task start | รันคำสั่งที่กำหนดไว้ใน mise.toml |
Configuration
คำสั่ง | คำอธิบาย | ตัวอย่าง | สิ่งที่เกิดขึ้น |
---|---|---|---|
init | สร้างไฟล์ .mise.toml | mise init | สร้างไฟล์กำหนดค่าใหม่ |
config | จัดการการตั้งค่า | mise config show | แสดงหรือแก้ไขการตั้งค่า |
Plugin System
คำสั่ง | คำอธิบาย | ตัวอย่าง | สิ่งที่เกิดขึ้น |
---|---|---|---|
plugins | จัดการ plugins | mise plugins install nodejs | ติดตั้ง/อัปเดต plugins สำหรับ runtime |
Help
คำสั่ง | คำอธิบาย | ตัวอย่าง | สิ่งที่เกิดขึ้น |
---|---|---|---|
help | แสดงความช่วยเหลือ | mise help | แสดงข้อมูลการใช้คำสั่งทั้งหมด |