执行npm link mongoose时报@typegoose依赖版本冲突如何解决
根因说明
npm link <包名>的默认逻辑是关联全局安装的对应包,你全局安装的mongoose为6.0.6版本,和项目中@typegoose/typegoose@7.2.0要求的mongoose@^5.9.17版本不匹配,报错中出现的/usr/local/lib/node_modules/mongoose是npm全局包的默认存放路径,不属于路径读取错误。
npm link创建的软链接存放在npm全局包目录下,仅清理本地package.json、node_modules无法生效,必须手动清理全局链路。
解决步骤
方案一:按规范完成模块关联(推荐)
- 清理之前创建的无效链路
# 在backend-common项目目录执行 npm unlink mongoose npm unlink # 卸载全局不匹配版本的mongoose npm uninstall -g mongoose - 先完成
backend-common的依赖安装和全局注册# 在backend-common项目目录执行,安装匹配版本的mongoose npm install mongoose@5.13.9 --save # 将当前backend-common注册到全局软链接 npm link - 进入目标业务项目目录,完成关联
npm link backend-common
方案二:临时忽略依赖校验
如果不需要修改全局配置,执行link命令时追加参数跳过peer依赖校验即可:
npm link mongoose --legacy-peer-deps
内容的提问来源于stack exchange,提问作者Даня Сингл
相关产品推荐
相关产品推荐

