nvm 自动化切换项目 node 版本
在一些项目中经常会忘记在 readme 中写项目运行的版本,而且一点都不工程化。这里给出一些方法让项目切换版本更加顺畅。
流程
-
第一步 将对应的 nvm 安装完成,教程很多就不赘述了。
-
第二步 在项目根目录下运行命令行
node -v > .nvmrc
-
第三步 在 package.json 中添加脚本
"scripts": { "node-v":"node nodeSwitch.js" },
在根目录下创建脚本 nodeSwitch.js
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 系统中支持。
标签:node,const,x1b,nvmrc,切换,nvm From: https://www.cnblogs.com/GoodMemoryBlog/p/18198292