首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解npm的依赖关系

理解npm的依赖关系
EN

Stack Overflow用户
提问于 2017-05-06 10:13:10
回答 1查看 27关注 0票数 2

我正在努力弄清楚npm依赖关系到底是怎么回事。

我问题的最短的具体形式是:既然我的传递依赖图用不同的版本多次调用某个包,那么为什么这些不同的版本在npm list或文件系统中都没有出现呢?

我不想仅仅为了测试而用垃圾来扰乱全局命名空间,所以将使用我的实际当前项目;我认为它足够小,可以清楚地显示出来。

代码语言:javascript
复制
C:\ayane>npm list
ayane@3.0.1 C:\ayane
+-- clause-normal-form@2.4.0
| +-- big-integer@1.6.22
| +-- big-rational@0.10.6
| +-- clone@2.1.1
| `-- lodash@4.17.4
+-- command-files@1.1.0
| `-- glob@7.1.1
|   +-- fs.realpath@1.0.0
|   +-- inflight@1.0.6
|   | `-- wrappy@1.0.2
|   +-- inherits@2.0.3
|   +-- minimatch@3.0.3
|   | `-- brace-expansion@1.1.7
|   |   +-- balanced-match@0.4.2
|   |   `-- concat-map@0.0.1
|   +-- once@1.4.0
|   `-- path-is-absolute@1.0.1
+-- commander@2.9.0
| `-- graceful-readlink@1.0.1
+-- dimacs-parser@2.3.0
+-- get-stdin@5.0.1
+-- iop@1.4.1
`-- tptp-parser@2.5.1

到目前为止,这看起来还不错,除了ayane依赖于clause-normal-form 2.4.0,但是dimacs-parsertptp-parser依赖于clause-normal-form 2.3.0;为什么在上面没有显示这一点呢?

代码语言:javascript
复制
C:\ayane>tree /a
Folder PATH listing for volume OS
Volume serial number is C685-B1F1
C:.
\---node_modules
    +---.bin
    +---balanced-match
    +---big-integer
    +---big-rational
    +---brace-expansion
    +---clause-normal-form
    +---clone
    +---command-files
    +---commander
    +---concat-map
    |   +---example
    |   \---test
    +---dimacs-parser
    +---fs.realpath
    +---get-stdin
    +---glob
    +---graceful-readlink
    +---inflight
    +---inherits
    +---iop
    +---lodash
    |   \---fp
    +---minimatch
    +---once
    +---path-is-absolute
    +---tptp-parser
    \---wrappy

同一个问题:为什么只有一个clause-normal-form目录出现?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-06 10:58:30

这可能是因为除非被告知,否则它只会安装同一模块的一个版本。如果clause-normal-form版本2.3.0和2.4.0不兼容,这将是一个问题,如果它们不兼容,您可能会遇到一些麻烦。为了获得最好的解决方案,所以代码工作正常,需要在peerDependencies中使用package.json

https://nodejs.org/en/blog/npm/peer-dependencies/

P.S :这不适用于npm第3版和更高版本,它只会给我们一个手动安装的警告。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43819193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档