如果我运行yarn add <dependency> -D
,yarn
将安装依赖项并在我的package.json
中运行任务。它将运行"start"
脚本。
起初我很生气,所以我用其他内容重命名了"start"
,但现在它在"build"
命令之后运行add
...
有没有办法阻止纱线在add
之后运行任何命令?
这是package.json
中的当前脚本:
"scripts": {
"clean": "mkdir -p lib && rm -r lib",
"build": "yarn clean && tsc",
"test": "tsc && mocha -c",
"test:watch": "tsc-then -- mocha -c"
}
注意:我为有兴趣的人开了一个问题,因为它似乎特别值得注意^ 0.9.0 @atom/watcher problem #20
答案 0 :(得分:1)
自从我通过NPM切换到Yarn以来,我也一直遇到这个问题。似乎,当被赋予未知命令时,yarn会在package.json脚本中搜索同名的一个。
另外,由于某种原因,yarn在指定的here on npm之上运行了过多的其他生命周期脚本。
我有三个剧本;构建,更新和准备。将构建重命名为babel使其无法运行。将更新重命名为子模块可停止该操作。重命名为更新和传输做好了阻止。
所以...暂时选择一个更复杂的名称,它将停止运行。
我意识到这不是完全 您的问题的答案,我将在其GitHub上提交有关禁用此功能的问题。
答案 1 :(得分:1)
您有--ignore-scripts
标志。
来自yarn add --help
:
--ignore-scripts don't run lifecycle scripts
yarn add --ignore-scripts -D package-name-1 ...
您可以使用yarn add --help
找到更多内容。
这是在纱线1.7.0上的。