使用nvm在preinstall时切换node版本的问题?
场景:本地环境需要用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 版本。
问题:怎么解决这个场景的问题?
回复
1个回答
test
2024-07-03
新建一个install-with-node-10.sh的脚本文件:
#!/bin/bash
# 切换到 Node.js 10.x
source ~/.nvm/nvm.sh
nvm use 10.x
# 运行 yarn install
yarn install
设置脚本文件的权限:
chmod +x install-with-node-10.sh
每次安装的时候:
./install-with-node-10.sh
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容