mise
跳至導覽
跳至搜尋
mise是一套支援多程式語言的版本管理軟體。
簡介
mise這類軟體避免了需要針對各程式語言實作安裝對應的version manager。另外mise除了自行實作的部分外,也支援了asdf生態系的設定,所以asdf可以安裝的程式語言,在mise上也可以安裝。
安裝
在Debian與Ubuntu上可以透過官方的APT Repository安裝:
wget -qO - https://mise.jdx.dev/gpg-key.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/mise-archive-keyring.gpg 1> /dev/null; echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.gpg arch=amd64] https://mise.jdx.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/mise.list; sudo apt update; sudo apt install -y mise; sudo apt clean
ARM64的平台要使用arm64
:
wget -qO - https://mise.jdx.dev/gpg-key.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/mise-archive-keyring.gpg 1> /dev/null; echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.gpg arch=arm64] https://mise.jdx.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/mise.list; sudo apt update; sudo apt install -y mise; sudo apt clean
但Raspberry Pi目前需要手動安裝,這是32-bit版本:
cd /usr/bin; sudo wget https://github.com/jdx/mise/releases/download/v2024.10.9/mise-v2024.10.9-linux-armv7; sudo chmod 755 mise-v2024.10.9-linux-armv7; sudo ln -sf mise-v2024.10.9-linux-armv7 mise
設定
在自己的~/.bashrc
裡面設定啟動:
#
if command -v mise > /dev/null; then
eval "$(mise activate bash)"
fi
zsh也可以設定對應的值:
#
if command -v mise > /dev/null; then
eval "$(mise activate zsh)"
fi
其他設定
另外,由於使用預先編好的Python binary可能會有PyPI套件無法安裝的問題(像是uwsgi[1]),這邊可以設定要求mise透過自己編來解決:
mise settings set python.compile 1
使用
一些基本的操作:
mise ls
mise use -g python@3.12
mise install python@3.9
mise use -g node@lts
常見的套件會有binary直接下載使用,但比較舊的版本(像是Python 2.7)就有可能會在本機上編譯,這時候可能會遇到因為缺少套件而編譯失敗的問題,需要查看log補上對應的套件再安裝。
cron
在cron job裡面使用的話,目前的解法會用shims:
eval $(mise activate --shims)
相關連結
參考資料
- ↑ Cannot install uwsgi with mise's python@3.13.0 #2969. [2024-11-23] (English).