本地依赖与npm仓库包重名时如何通过npm link关联本地版本
npm link 同名包冲突解决方案
核心原因
你执行npm link [包名]时,npm会优先查找全局缓存的link注册记录,若没找到匹配项就会自动从npm远程仓库拉取同名包安装,和你本地的项目无关。
解决方案1(最稳妥,100%避免冲突)
直接指定本地依赖包的绝对路径执行link,无需用包名匹配,不会触发远程仓库拉取逻辑:
- 进入本地依赖包目录,完成全局link注册(你原来的前两步没问题)
cd ~/projects/react-financial-charts npm link - 进入业务项目目录,直接指定本地依赖包路径执行link
cd ~/projects/your-project npm link ~/projects/react-financial-charts
解决方案2(沿用你原来的操作流程)
先排查卸载全局已安装的npm官方同名包,再重新走原来的流程即可:
- 检查是否已全局安装官方同名包
npm ls -g react-financial-charts - 若存在全局安装的官方版本,先卸载
npm uninstall -g react-financial-charts - 重新执行你原来的4步操作即可生效
验证方式
进入业务项目的node_modules/react-financial-charts目录,执行pwd查看路径,若显示为你本地的依赖包目录(~/projects/react-financial-charts)则关联成功。
内容的提问来源于stack exchange,提问作者ABC
相关产品推荐
相关产品推荐

