npm script 顺序执行多条命令,执行完切换node版本的命令后提示找不到node环境

发布于 2022-09-12 03:51:16 字数 1331 浏览 19 评论 0

环境描述

系统: WIN10
yarn: 1.10.1
node: 8.12.0 或者 11.10.1
npm: 6.4.1 或者 6.7.0
nvm: 1.1.7
npm-run-all: 4.1.5

问题描述

手上有几个通过create-react-app脚手架创建的项目,用了2个版本的node,分别是8.12.0以及11.10.1。电脑是WIN10,使用nvm-windows来管理node版本。每次切换项目的时,都手动输入
nvm use 11.10.1这样的命令来切换node版本,所以想利用npm script的能力来实现 自动切换node版本并且yarn start开启开发。

问题出现的环境背景及自己尝试过哪些方法

使用npm-run-all来顺序执行命令,package.json长这样,命令行使用yarn dev

  "scripts": {
    "sureVersion": "nvm use 11.10.1",
    "startDev": "node -v",
    "dev": "npm-run-all -s sureVersion startDev start",
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test",
    "eject": "react-scripts eject"
  },

期待的结果

sureVersion,startDev,start 三个任务顺序执行。

实际看到的错误信息

执行第一次没问题
如图
CXL5`1E}JVFY7A93{YFHQ_O.png

执行第二次就凉了,提示系统找不到node,如图

VB}%T575TABCT5P9$R33CS0.png

或许的解决办法

我的猜想是切换了node版本以后等个1秒再执行其他命令,不知道是否可行,以及怎么实现。
猜想有可能错误,静候大佬的解决方案

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文