You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止Yarn在添加devDependencies后自动运行package.json脚本?

如何阻止Yarn在执行yarn add后自动运行脚本?

我之前也碰到过类似的糟心事——Yarn安装依赖后总是莫名其妙触发项目里的脚本,一开始跑start,改了脚本名又跑build,折腾了好一阵才找到解决办法,分享给你:

临时解决:单次命令禁用脚本

如果只是偶尔需要跳过脚本,直接在yarn add命令后加上--ignore-scripts参数就行,命令格式如下:

yarn add <你的依赖名> -D --ignore-scripts

这个参数会直接阻止Yarn执行任何安装相关的脚本,不管是项目自带的还是依赖包本身的。

永久生效:项目级全局配置

要是你希望每次yarn add都自动跳过脚本,可以修改Yarn的配置文件,一劳永逸:

  • Yarn 1.x版本:在项目根目录创建或编辑.yarnrc文件,添加一行:
    ignore-scripts true
    
  • Yarn 2+(Berry版本):编辑项目根目录的.yarnrc.yml,添加:
    npmClientSettings.ignoreScripts: true
    

配置完成后,所有yarn add操作都会默认跳过脚本执行,不用每次手动加参数。

为什么会自动触发脚本?

Yarn本身默认不会在add命令后主动运行start或build脚本,结合你的package.json配置来看,大概率是这两种情况:

  1. 某个依赖包自带了install/postinstall生命周期脚本,间接触发了你的build;
  2. 部分旧版本Yarn存在的小bug,误将项目里的常用脚本识别为安装后的触发项。

不过不管是哪种原因,上面的方法都能彻底解决问题。

内容的提问来源于stack exchange,提问作者vdegenne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:23:36