“npm-run-all”不被识别为内部或外部命令

top*_*ddy 14 javascript node.js

我在 Windows 机器上安装了 npm-run-all 并配置了环境变量(可能不需要也可能不需要),但出现错误:

“npm-run-all”不是内部或外部命令,也不是可运行的程序或批处理文件

我正在尝试构建我当前的项目,npm run build其中包含引发错误的脚本:

npm-run-all -p build-css build-webpack
Run Code Online (Sandbox Code Playgroud)

我是否必须执行任何其他操作才能使其运行?

小智 21

  1. 确保npm-run-all在你的 package.json 中devDependencies
  2. 如果npm-run-all存在于您的 package.json 中,请运行npm i
  3. 如果不存在安装它,运行: npm i npm-run-all -D

如果错误仍然存​​在,请按照下列步骤操作:

  1. 删除 node_modules 文件夹:运行 rm -rf node_modules
  2. 安装所有依赖:运行 npm i

希望这可以帮助!


Dav*_*vid 17

您可能只需要先运行以下命令(从包含 package.json 文件的目录中)

npm install
Run Code Online (Sandbox Code Playgroud)


gol*_*nus 9

请这样做。

npm i npm-run-all -g

Run Code Online (Sandbox Code Playgroud)

然后这个问题就会得到解决。


Mat*_*and 6

除了npm-run-all按照@Vaibhav 在评论中的建议安装为全局包之外,您还有几个选择:

1) 创建NPM 脚本

package.json文件有一个scripts部分,可用于为您在处理应用程序时需要运行的任何内容定义快捷方式。有一些预定义的脚本,例如runtest比可以简单地执行npm start/npm test或者您可以定义任何您喜欢的内容,然后使用npm run my-script-name. 你可以试试:

{
  "scripts": {
    "start": "npm-run-all -p build-css build-webpack"
  }
}
Run Code Online (Sandbox Code Playgroud)

此处引用的任何 NPM 模块都“正常工作”(即,可执行文件的路径由 NPM 在后台解析)

2)NPX

在较新版本的 NPM(即 >= 5.2 左右)中,提供了“NPX”可执行文件。这与在 NPM 脚本中运行命令的效果类似。你会运行:

npx npm-run-all -p build-css build-webpack
Run Code Online (Sandbox Code Playgroud)

同样,路径将自动解析。

如果您安装了较旧的 NPM,也可以单独安装:

npm install -g npx
Run Code Online (Sandbox Code Playgroud)