当前位置: 首页 > 知识库问答 >
问题:

前端 - 使用nvm在preinstall时切换node版本的问题?

杨建章
2023-05-12

场景:本地环境需要用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个答案

石苏燕
2023-05-12

新建一个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

 类似资料:
  • 背景:项目安装时需要切换到node 10.x 安装依赖,我想写一个脚本自动切换到node10.x去安装 脚本执行后node确实切换到10.x了,但是yarn执行后其实使用的是node切换之前的node版本(14) widnows上面是好的!!mac下面用zsh跑就出现了错误 widnows上面是好的!!mac下面用zsh跑就出现了错误 widnows上面是好的!!mac下面用zsh跑就出现了错误

  • nvm use 14.17.0 运行完之后doskey却报错 而且全是乱码。 之前对doskey进行过的操作就是在注册表里写了个AutoRun里面自动运行“doskey /macros=...”用来实现自定义命令,出现了这个错误之后我就直接把注册表里之前加的AutoRun给删了,但是错误仍旧存在。 求大佬指点!!!

  • 安装electron时提示这个是什么问题?

  • update to revision:更新到指定版本。    

  • 问题内容: 故事:我拥有的其中一个应用程序可以在python 2.4上工作,而另一个可以在2.6上工作。我试图将python2.4链接到python,并且在ubuntu麻烦时事情开始崩溃。现在我正在下载2.4的每个依赖项,并使用python2.4 setup.py install进行安装。依赖性似乎是无限的。 问题1:我将如何告诉任何要使用版本的框架,例如pf python,如day django

  • 问题内容: 我一直在使用NVM为节点工作安装最新版本的nodeJS。对于安装单独的版本并在它们之间进行切换,它工作得很好。它还会在每个本地… / bin文件夹中安装最新版本的NPM以及节点二进制文件。但是,似乎没有任何方法可以切换我正在使用的NPM版本(或者至少我无法弄清楚)。 我能想到的唯一解决方案是删除默认的二进制文件(这是我第一次使用NVM安装节点时安装的NPM),并放置最新的NPM二进制文