nvm 自动化切换项目node版本
nvm 自动化切换项目 node 版本
在一些项目中经常会忘记在 readme 中写项目运行的版本,而且一点都不工程化。这里给出一些方法让项目切换版本更加顺畅。
流程
- 第一步 将对应的 nvm 安装完成,教程很多就不赘述了。
- 第二步 在项目根目录下运行命令行
node -v > .nvmrc
- 第三步 在 package.json 中添加脚本
由于脚本是个 common js,直接生成js文件会被作为ES module加载导致报错,所以后缀必须为 cjs
"scripts": {
"node-v":"node nodeSwitch.cjs"
},
在根目录下创建脚本 nodeSwitch.cjs
const fs = require("fs");
const os = require("os");
const { execSync } = require("child_process");
if (fs.existsSync(".nvmrc")) {
const nvmrcContent = fs.readFileSync(".nvmrc", "utf8").trim();
const nvmVersion =
os.platform() === "win32"
? execSync("type .nvmrc", { encoding: "utf8" }).trim()
: nvmrcContent;
try {
execSync(`nvm use ${nvmVersion}`, { stdio: "inherit" });
console.log("\x1b[32m%s\x1b[0m", "Node.js 版本切换成功");
} catch (error) {
console.error(
"\x1b[31m%s\x1b[0m",
"Node.js 版本切换失败 Check installation nvm"
);
}
} else {
console.error("\x1b[31m%s\x1b[0m", ".nvmrc 文件不存在");
}
这样在切换项目时可以直接使用
npm run node-v
注意
有文章指出在 windows 中的 nvm 中使用 nvm use 不生效,这是因为在 windows 系统安装的是 nvm-window,这个是不支持读取.nvmrc 文件配置,只有在 mac 和 Linux 系统中支持。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~