Npm脚本始终会给出错误,因为“无法识别为内部或外部命令”

时间:2018-07-09 06:17:02

标签: javascript node.js npm lerna

我有一个lerna回购。有devDependency可以从我的根package.json同时打包。当我在命令行输入“ lerna bootstrap”时,它可以正常工作,并将所有根目录和subPackages的依赖项安装到根node_modules文件夹中。但是,当我键入“ npm start”时,它说:“并发”不被识别为内部或外部命令。当我检查node_modules / concurrently文件夹时,它存在没有问题。

我的开始脚本是concurrently --kill-others "npm run start-client" "npm run start-server"

这种情况与webpack-dev-server相同。除了重新安装所有内容外,我该如何解决此问题。

package.json:

{
    "name": "x-workspace",
    "private": true,
    "workspaces": [
        "packages/*"
    ],
    "devDependencies": {
        "concurrently": "3.5.0",
        "lerna": "^2.11.0"
    },
    "scripts": {
        "start": "concurrently --kill-others \"npm run start-client\" \"npm run start-server\"",
        "build": "webpack --hot",
        "start-client": "npm --prefix ./packages/client-app start",
        "start-server": "cd ./packages/server-app && dotnet run",
        "clean": "rimraf node_modules package-lock.json ./packages/client-app/package-lock.json"
    }
}

2 个答案:

答案 0 :(得分:0)

我相信您尚未全局安装concurrently软件包,要确认尝试执行以下命令并检查其是否返回任何内容,

npm list -g concurrently

如果收到了--(empty)响应,则必须在全局进行安装。

npm install -g concurrently

希望这会有所帮助!。

答案 1 :(得分:0)

我发现了问题。根node_modules文件夹中没有.bin文件夹。这是将yarn更新为1.8.0的结果。当我返回纱线1.6.0时,它可以完美运行。

感谢David R.和其他用户。