锁文件已更新时,如何检测pnpm的ERR_PNPM_PEER_DEP_ISSUES对等依赖问题?
解决CI环境下pnpm跳过peer依赖检查的问题
针对你遇到的CI环境中pnpm因lockfile已更新而跳过peer依赖校验的问题,可以用以下几种方法强制检测ERR_PNPM_PEER_DEP_ISSUES错误:
强制重新解析依赖树
执行install时添加--lockfile=false参数,跳过lockfile的校验逻辑,强制重新解析所有依赖,触发peer依赖检查:pnpm install --lockfile=false这样即使lockfile存在,也会重新执行依赖解析,发现peer依赖缺失时抛出错误并返回非0退出码,中断CI流水线。
单独执行peer依赖检查命令
使用pnpm自带的check命令专门校验peer依赖是否满足:pnpm check这个命令会扫描项目的依赖树,检查所有peer依赖是否已安装,存在问题时直接返回非0退出码,适合在CI流水线中单独加一步校验。
开启严格peer依赖检查配置
在项目的.npmrc文件中添加以下配置,或者在CI环境变量中设置:strict-peer-dependencies=true开启后,pnpm在执行install时会严格校验peer依赖,即使lockfile已更新,只要存在未满足的peer依赖就会报错退出。注意这个配置会对所有依赖生效,若项目中有其他允许peer依赖缺失的场景需要谨慎使用。
内容的提问来源于stack exchange,提问作者Everettss
相关产品推荐
相关产品推荐

