如何引入构建异常的NPM模块为devDependency且不执行其安装脚本
可行方案
方案一:配置单包忽略脚本(优先选,不影响其他依赖)
这是最适配你场景的方案,全程不需要修改全局安装命令,其他依赖的编译流程完全不受影响:
- 用Yarn的话,直接在项目根目录的
.yarnrc里加一行配置:
ignore-scripts f-list/exported true
配完正常跑yarn install就行,安装时会自动跳过这个包的所有install、postinstall类构建脚本,剩下的依赖该怎么编译怎么编译。
- 用npm v7及以上版本的话,在项目根目录的
.npmrc里加一行:
ignore-scripts[f-list/exported]=true
之后正常执行npm install就会只跳过这个包的脚本执行。
方案二:分步安装(临时使用可选,长期不推荐)
要是你用的包管理器版本太老不支持单包忽略配置,可以按两步操作:
- 先正常跑
yarn install/npm install,把所有其他依赖装完、编译完,保证需要跑脚本的依赖都正常工作 - 单独安装目标包,安装时携带忽略脚本参数:
# Yarn 命令 yarn add -D f-list/exported --ignore-scripts # npm 命令 npm install --save-dev f-list/exported --ignore-scripts
这个方法的缺陷是后续如果重装全量依赖、更新该包版本,还是可能触发它的构建脚本导致安装失败,只适合临时拉取代码使用。
使用提示
你只需要这个包的TS源文件作为类型定义使用的话,装完直接在tsconfig.json里配置路径映射,指向包内对应的源文件目录即可,完全不需要运行它的构建流程。
提醒:后续升级这个包版本的时候,记得同样跳过它的构建脚本,不然还是会出现安装失败的问题。
内容的提问来源于stack exchange,提问作者TechyShishy
相关产品推荐
相关产品推荐

