开发过程中管理多个项目不同的Node版本,使用.sh脚本实现
本地会开发多个不同的 NodeJS 项目,每个项目可能需要的 Node 版本不同,有的老项目还在用 10.xx ,有的要求 12.xx/14.xx/16.xx/18.xx 。
总之,每个项目都需要不同的 Node 版本。很多时候我都是在启动项目遇到报错了才会意识到要切换 Node 版本。
1、创建文件夹
在项目根目录下创建node.sh文件,把下面代码粘贴到你的node.sh文件中
1 NODE_VERSION="15" # 你需要的 Node.js 版本 2 3 # 检查是否已经安装指定版本的 Node.js 4 if [ -x "$(command -v node)" ]; then 5 INSTALLED_VERSION=$(node -v) 6 if [ "$INSTALLED_VERSION" == "v$NODE_VERSION" ]; then 7 echo "Node.js version is already v$NODE_VERSION. No action needed." 8 else 9 # 判断 nvm 是否已安装 10 if command -v nvm &> /dev/null; then 11 echo "Using nvm to manage Node.js versions." 12 # 检查 nvm ls 的输出是否包含特定 Node.js 版本 13 if nvm ls | grep -q "$NODE_VERSION"; then 14 echo "The current Node.js version is not v$NODE_VERSION" 15 nvm use "$NODE_VERSION" 16 else 17 echo "Node.js version v$NODE_VERSION is not installed." 18 # 安装并切换到指定的 Node.js 版本 19 nvm install "$NODE_VERSION" && nvm use "$NODE_VERSION" 20 fi 21 else 22 echo "Using n to manage Node.js versions." 23 # 检查 n 的输出是否包含特定 Node.js 版本 24 if n | grep -q "$NODE_VERSION"; then 25 echo "The current Node.js version is not v$NODE_VERSION" 26 sudo n "$NODE_VERSION" 27 else 28 echo "Node.js version $NODE_VERSION is not installed." 29 # 安装并切换到指定的 Node.js 版本 30 sudo n "$NODE_VERSION" 31 fi 32 fi 33 fi 34 else 35 echo "Node.js is not installed. Installing v$NODE_VERSION..." 36 fi
2、在项目启动配置文件package.js中添加bash node.sh
3、运行项目
根据自己的项目命令运行项目