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补上对应的套件再安装。
升级
mise upgrade
cron
在cron job里面使用的话,目前的解法会用shims:
eval $(mise activate --shims)
相关连结
参考资料
- ↑ Cannot install uwsgi with mise's python@3.13.0 #2969. [2024-11-23] (English).