获得徽章 22
假设一个包 packageA 依赖另一个 packageB,在 packageA 中使用的 packageB 的版本是1.0.0
然后你自己的项目中又要使用 packageB,项目中的版本是 2.0.0
这个时候项目的node_modules 目录结构会是:
packageA
-->node_modules
---->packageB:1.0.0
packageB:2.0.0
坑的事情来了,packageB内部也会依赖其他的包 packageC,这个时候目录结构会是:
packageA
-->node_modules
---->packageB:1.0.0
packageB:2.0.0
packageC
注意这里我只写了 packageB 的版本号,问题就出在这里
packageB:1.0.0 依赖 packageC:1.0.0
packageB:2.0.0 依赖 packageC:2.0.0
这个时候外面的 packageC 的版本就是 2.0.0,你项目中的packageB 工作正常,但是 packageA 工作异常,因为内部的 packageB 工作异常,他使用的是外面的 packageC:2.0.0,版本没对上
这个时候的解决方案就是进入 packageA 的目录,直接 npm i 给它安装依赖,这样版本就对上了
这个小问题我都懒得水文了,前端怎么这么难
然后你自己的项目中又要使用 packageB,项目中的版本是 2.0.0
这个时候项目的node_modules 目录结构会是:
packageA
-->node_modules
---->packageB:1.0.0
packageB:2.0.0
坑的事情来了,packageB内部也会依赖其他的包 packageC,这个时候目录结构会是:
packageA
-->node_modules
---->packageB:1.0.0
packageB:2.0.0
packageC
注意这里我只写了 packageB 的版本号,问题就出在这里
packageB:1.0.0 依赖 packageC:1.0.0
packageB:2.0.0 依赖 packageC:2.0.0
这个时候外面的 packageC 的版本就是 2.0.0,你项目中的packageB 工作正常,但是 packageA 工作异常,因为内部的 packageB 工作异常,他使用的是外面的 packageC:2.0.0,版本没对上
这个时候的解决方案就是进入 packageA 的目录,直接 npm i 给它安装依赖,这样版本就对上了
这个小问题我都懒得水文了,前端怎么这么难
展开
2
1
赞了这篇沸点
![[得意]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_52.cc6d6bc.png)
![[惊喜]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_93.5ee641b.png)
![[绝望的凝视]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_69.cabd864.png)
![[力量]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_118.1612154.png)
![[耶]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_72.04f3881.png)