【问题标题】:Unable to change directory via concurrently in npm script无法在 npm 脚本中同时更改目录
【发布时间】:2016-11-21 07:54:07
【问题描述】:

我有一个网站和几个作为本地节点依赖项添加的外部模块(使用"file:...")。

为了更新我网站中的外部模块引用,我使用如下 npm 脚本:

"scripts": {
    "preupdate-own-deps":"concurrently \"cd ../my-ext-module1 && gulp build\" \"cd ../my-ext-module2 && gulp build\"",
    "update-own-deps": "rimraf node_modules/my-ext-* && npm install --save"
}

每当我在终端运行concurrently "cd ../my-ext-module1 && gulp build" "cd ../my-ext-module2 && gulp build" 时,一切都很好。但是每当使用npm run update-own-deps 运行相同的操作时,preupdate-own-deps 就会退出并出现以下错误:


[0] The system cannot find the path specified.
[1] The system cannot find the path specified.
[1] cd ../my-ext-module2 && gulp build exited with code 1
[0] cd ../my-ext-module1 && gulp build exited with code 1

由于我是 npm 脚本的新手,我不确定我在这里缺少什么。请提出建议。

更新:愚蠢的我,正在使用旧版本的并发。更新解决了问题。

【问题讨论】:

    标签: node.js npm-scripts


    【解决方案1】:

    您似乎不在您认为的目录中。尝试改变这个:

    "scripts": {
        "preupdate-own-deps":"concurrently \"cd ../my-ext-module1 && gulp build\" \"cd ../my-ext-module2 && gulp build\"",
        "update-own-deps": "rimraf node_modules/my-ext-* && npm install --save"
    }
    

    到:

    "scripts": {
        "preupdate-own-deps":"pwd && concurrently \"pwd && cd ../my-ext-module1 && gulp build\" \"cd ../my-ext-module2 && gulp build\"",
        "update-own-deps": "rimraf node_modules/my-ext-* && npm install --save"
    }
    

    在运行此脚本时查看当前工作目录是什么,然后相应地更改cd 命令。

    【讨论】:

    • 感谢您的回答。我正在使用旧版本的并发,更新相同的问题。是的,旧版本没有查看正确的目录。
    • 为后代添加:我的问题是我的命令使用分号而不是&符号。因此,将“cd ../foo; yarn start”更改为“cd ../foo && yarn start”后,它就开始工作了。
    猜你喜欢
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 2021-08-15
    • 1970-01-01
    相关资源
    最近更新 更多