我有一个问题:一般是在项目目录有一个package.json
文件,里面有要引入的包,执行安装后,依赖的包会被下载到node_modules
目录下面,但是如果包之间相互依赖,而出现依赖相同的包,但是不一样的版本,那怎么办呢,这不就冲突了吗?
比如我要引入A
包和B
包,他们又同时依赖C
包,A
依赖C 1.0.0
版本,B
依赖C 2.0.0
版本,那这样C
包不冲突了吗,如果node_modules
目录下面的包目录是带版本号就好了,不然可怎么办呢?
我有一个问题:一般是在项目目录有一个package.json
文件,里面有要引入的包,执行安装后,依赖的包会被下载到node_modules
目录下面,但是如果包之间相互依赖,而出现依赖相同的包,但是不一样的版本,那怎么办呢,这不就冲突了吗?
比如我要引入A
包和B
包,他们又同时依赖C
包,A
依赖C 1.0.0
版本,B
依赖C 2.0.0
版本,那这样C
包不冲突了吗,如果node_modules
目录下面的包目录是带版本号就好了,不然可怎么办呢?
run cnpm install
, 然后看看你的node_modules
你就发现如何解决的说的问题,即peer dependencies
的问题。 安装不同的版本,并且用软链的方式解决。
10 回答11.6k 阅读
2 回答3.1k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
5 回答3.8k 阅读
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
npm 已经帮你解决了这些问题,你不用担心,只管用就好了。
npm2 是把所有依赖依次安装到模块目录下的 node_modules 这也导致了很多时候win下目录过深无法删除。
npm3 平行安装依赖,但不同版本依然安装到自己模块下的 node_modules 同时会创建一个带版本号的目录到根 node_modules 下。