vde*_*nne 7 package-managers npm yarnpkg
如果我运行yarn add <dependency> -D,yarn将安装依赖项并在我的package.json. 它将运行该"start"脚本。
起初我很生气,所以我"start"用其他东西重命名,但现在它会在命令"build"之后运行add......
有没有办法阻止yarn 之后运行任何命令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"
}
Run Code Online (Sandbox Code Playgroud)
注意:我为那些感兴趣的人提出了一个问题,因为它似乎特定于 watchy^0.9.0 @atom/watcher 问题 #20
你有--ignore-scripts旗帜。
从yarn add --help:
--ignore-scripts don't run lifecycle scripts
Run Code Online (Sandbox Code Playgroud)
yarn add --ignore-scripts -D package-name-1 ...
您可以通过 找到此内容以及更多内容yarn add --help。
这是在 Yarn 1.7.0 上。
自从我通过 NPM 切换到 Yarn 后,我也遇到了这个问题。看来,当给定一个未知命令时,yarn 会在 package.json 脚本中搜索具有相同名称的命令。
此外,由于某种原因,yarn在 npm 上指定的脚本之上运行了大量的附加生命周期脚本。
我有三个剧本;构建、更新和准备。将 build 重命名为 babel 会阻止其运行。将更新重命名为子模块可以阻止这种情况。并将准备重命名为 update-and transpile 阻止了它。
所以......暂时选择一个更复杂的名称,它就会停止运行。
我意识到这并不完全是您问题的答案,我将在他们的 GitHub 上提交一个有关禁用此功能的问题。
| 归档时间: |
|
| 查看次数: |
7367 次 |
| 最近记录: |