mise 一款可以在项目中独立管理语言、环境变量和任务的工具

冲他可以帮我们管理好每个项目各自需要的运行环境、版本,高低得试试看。

就如它首页说的那样:Your dev env, already prepped.

Windows 版本的可以参考这位老哥的: 半砚松风:从 Volta 迁移到 mise:Windows 下 Node 版本管理切换记录

我这边补充一下 macOS 版本的

卸载!

如果你之前安装了 Volta,需要迁移 mise,需要先卸载 Volta。否则两者环境逻辑冲突,共存会导致版本切换异常、命令失效

第一步:删除 Volta 目录

bash 复制代码
rm -rf ~/.volta

第二步:清理 PATH

Volta 安装时在 ~/.zshrc(macOS 默认)加了这两行,手动删掉或执行命令批量清除:

bash 复制代码
# macOS 默认 zsh
sed -i '' '/VOLTA_HOME/d' ~/.zshrc
sed -i '' '/volta\/bin/d' ~/.zshrc

# 若曾用 bash 也顺手清一下
sed -i '' '/VOLTA_HOME/d' ~/.bash_profile 2>/dev/null
sed -i '' '/volta\/bin/d' ~/.bash_profile 2>/dev/null

安装 mise

惯例官网:mise.jdx.dev/getting-sta...

bash 复制代码
# 下载&安装
curl https://mise.run | sh
# 或
brew install mise

# 验证结果(一下为默认安装目录)
~/.local/bin/mise --version

激活 mise

对于交互式的 shell 命令行,激活 mise 会更方便

1. 以 curl https://mise.run | sh 方式安装的
shell 复制代码
# 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
2. 以 brew 方式安装
shell 复制代码
# bash
echo 'eval "$(mise activate bash)"' >> ~/.bashrc

# zsh
echo 'eval "$(mise activate zsh)"' >> ~/.zshrc

修改完 rc 文件后重启你的 shell 会话 。运行 mise dr|doctor 以验证所有设置是否正确。

激活成功后,可以直接访问 mise

全局配置安装

sh 复制代码
mise use --global node@24
node -v
# v24.16.0

此时 mise 更新了全局配置:~/.config/mise/config.toml

toml 复制代码
[tools]
node = "24"

项目配置安装

对应 Volta pin 命令

sh 复制代码
cd /yourProject
mise use node@14.21.3
mise use yarn@1.22.19

此时会在你当前目录下生成一个 mise.toml 文件

测试是否生效:

bash 复制代码
# 当前项目目录
node -v
# 14.21.3

# 返回上一级目录
cd ..
node -v
# 24.16.0

ps:如果你的项目已经有了 mise.toml 文件,你可以直接 mise install 安装所有工具

Volta VS mise 对照

场景 Volta 命令/逻辑 mise 命令/逻辑
安装工具 volta install xxx mise install xxx
固化项目版本 volta pin xxx mise use xxx
设置全局默认 volta default xxx mise default xxx
版本列表查看 volta list mise list
环境自动切换 支持 支持(更稳定)
多语言工具管理 不支持 全支持

总结

总的来说,mise 从功能上可以完美替代之前的 Volta,并且扩展了很多额外的能力,文档中内容十分丰富,大家可以自行探索

常用命令速查

sh 复制代码
# 查看 mise 识别到的所有工具 
mise ls

# 查看当前生效的工具版本 
mise ls --current 

# 安装并写入全局配置 
mise use -g node@24 

# 安装并写入当前项目配置 
mise use node@14 

# 安装 mise.toml
mise install 

# 从配置中移除工具 
mise unuse node@14 

# 删除已安装工具版本,但不改配置
mise uninstall node@14 

# 检查环境问题 
mise doctor
相关推荐
云飞云共享云桌面15 小时前
传统工作站 vs 云飞云共享云桌面:制造业设计云桌面选型深度对比
运维·服务器·前端·网络·3d·架构·制造
UXbot15 小时前
如何选择适合公司项目的UI设计工具?企业选型指南
前端·低代码·ui·团队开发·原型模式·设计规范·web app
llz_11216 小时前
web-第四次课后作业
前端·spring boot·web
武清伯MVP17 小时前
前端跨域方案大合集
前端·javascript
小刘|17 小时前
Spring AI Alibaba 集成和风天气 API 实战
java·服务器·前端
星星在线17 小时前
我是怎么把页面图片流量砍掉一半的
前端·javascript
木叶子---18 小时前
前端打包出错
前端·人工智能·tensorflow
JAVA面经实录91718 小时前
前端系统化学习计划表(含完整知识思维导图)
前端·学习
本末倒置18318 小时前
开发了一个所见所得的md编辑器,致敬Typora大佬
前端
kyriewen19 小时前
TypeScript 高级类型:我用 infer 写了一个类型安全的 EventBus,终于搞懂了泛型约束
前端·javascript·typescript