npm安装包出错时如何强制保留已下载的包文件不被删除
npm安装依赖报错时保留已下载包文件的配置方法
安装iohook时postinstall构建步骤失败,npm自动删除对应包目录导致无法手动构建的问题,可通过以下两种方案解决:
- 方案1:单次安装临时跳过自动脚本(推荐)
执行安装命令时追加--ignore-scripts参数,直接跳过包自带的install/postinstall等自动执行逻辑,从根源避免构建失败触发的目录清理:
npm install iohook --ignore-scripts
命令执行完成后node_modules/iohook目录会完整保留,直接执行手动构建命令即可:
cd node_modules/iohook npm run build
- 方案2:修改全局配置关闭失败自动清理
如果需要所有安装场景都保留报错的包文件,可修改npm默认配置:
- 执行命令关闭自动清理逻辑:
npm config set clean false
- 正常执行
npm install iohook即可,即使构建步骤报错,node_modules/iohook目录也不会被删除,可直接进入目录完成手动构建。 - 后续如果需要恢复默认清理行为,执行重置命令即可:
npm config set clean true
注意:npm默认开启安装失败自动清理,是为了避免残留不完整的依赖文件影响后续其他包的安装流程,日常使用不建议长期关闭该配置,优先使用第一种临时跳过脚本的方式处理需要手动构建的原生依赖即可。
内容的提问来源于stack exchange,提问作者Qwerty
相关产品推荐
相关产品推荐

