场景:本地环境需要用14.x,但是yarn install 时需要 10.x
使用nvm在preinstall时node版本
package.json
"scripts": {
"preinstall": "bash ./scripts/preinstall.sh"
}
preinstall.sh
nvm use 10.x
执行 yarn install
提示node版本为14.x,编译必须(10.x)
原因:在 preinstall 脚本中使用 nvm 切换了 Node.js 版本,并且在 install 脚本中希望使用已切换的版本,可能会出现切换不生效的情况。这是因为 preinstall 和 install 两个脚本通常在不同的子进程中执行,每个子进程都有自己的环境变量和 Node.js 版本。
问题:怎么解决这个场景的问题?
新建一个install-with-node-10.sh的脚本文件:
设置脚本文件的权限:
chmod +x install-with-node-10.sh
每次安装的时候:
./install-with-node-10.sh