0

我在使用 NPM 时遇到了一些问题,所以我决定简单地卸载 Node、NPM 和 NVM,然后在 Mac OS X 10.8 上重新安装所有内容。在遵循各种指南和 Stackoverflow 问题之后,我很确定我已经摆脱了一切。但令我惊讶的是,在我第一次安装 NVM 和 Node(它为我安装了 NPM)之后,我不明白为什么运行会npm -g ls显示许多不同的模块,在 NPM 注册表中查找它们之后,它们看起来是非常基本的帮助程序和样板其他更高级模块构建的模块。这是它打印出的完整模块列表:

unknownd8a25e8b001d:~ [username]$ npm -g ls
/Users/[username]/.nvm/v0.10.18/lib
└─┬ npm@1.3.8
  ├── abbrev@1.0.4
  ├── ansi@0.1.2
  ├── archy@0.0.2
  ├── block-stream@0.0.7
  ├── child-process-close@0.1.1
  ├── chmodr@0.1.0
  ├── chownr@0.0.1
  ├── cmd-shim@1.0.1
  ├── editor@0.0.4
  ├── fstream@0.1.24
  ├─┬ fstream-npm@0.1.5
  │ └── fstream-ignore@0.0.7
  ├── github-url-from-git@1.1.1
  ├── glob@3.2.6
  ├── graceful-fs@2.0.0
  ├── inherits@2.0.0
  ├── ini@1.1.0
  ├─┬ init-package-json@0.0.11
  │ └── promzard@0.2.0
  ├── lockfile@0.4.0
  ├── lru-cache@2.3.0
  ├─┬ minimatch@0.2.12
  │ └── sigmund@1.0.0
  ├── mkdirp@0.3.5
  ├── node-gyp@0.10.9
  ├── nopt@2.1.2
  ├─┬ npm-registry-client@0.2.28
  │ └── couch-login@0.1.18
  ├── npm-user-validate@0.0.3
  ├─┬ npmconf@0.1.2
  │ └─┬ config-chain@1.1.7
  │   └── proto-list@1.2.2
  ├── npmlog@0.0.4
  ├── once@1.1.1
  ├── opener@1.3.0
  ├── osenv@0.0.3
  ├─┬ read@1.0.5
  │ └── mute-stream@0.0.4
  ├── read-installed@0.2.3
  ├─┬ read-package-json@1.1.1
  │ └─┬ normalize-package-data@0.2.1
  │   └── github-url-from-git@1.1.1
  ├─┬ request@2.25.0
  │ ├── aws-sign@0.3.0
  │ ├── cookie-jar@0.3.0
  │ ├── forever-agent@0.5.0
  │ ├─┬ form-data@0.1.0
  │ │ ├── async@0.2.9
  │ │ └─┬ combined-stream@0.0.4
  │ │   └── delayed-stream@0.0.5
  │ ├─┬ hawk@1.0.0
  │ │ ├── boom@0.4.2
  │ │ ├── cryptiles@0.2.2
  │ │ ├── hoek@0.9.1
  │ │ └── sntp@0.2.4
  │ ├─┬ http-signature@0.10.0
  │ │ ├── asn1@0.1.11
  │ │ ├── assert-plus@0.1.2
  │ │ └── ctype@0.5.2
  │ ├── json-stringify-safe@5.0.0
  │ ├── mime@1.2.10
  │ ├── node-uuid@1.4.0
  │ ├── oauth-sign@0.3.0
  │ ├── qs@0.6.5
  │ └── tunnel-agent@0.3.0
  ├── retry@0.6.0
  ├── rimraf@2.2.2
  ├── semver@2.1.0
  ├─┬ sha@1.2.1
  │ └── readable-stream@1.0.2
  ├── slide@1.1.4
  ├── tar@0.1.18
  ├── uid-number@0.0.3
  └── which@1.0.5

所以我的问题是,NPM在安装的时候会不会安装各种全局模块供自己使用呢?从缩进来看,它们看起来好像是 npm 使用的模块,因为它们嵌套在下面npm@1.3.8,并且使用 Finder,我可以看到 NPM 看起来如何将这些模块放在它自己的 node_modules 文件夹中。

4

1 回答 1

1

节点包管理器(NPM)本身就是一个模块,是的,它确实有依赖关系。因此,您的问题的答案是肯定的,除了模块是作为依赖项安装的,而不是全局安装的。模块 NPM 本身就是全局模块。

于 2013-09-29T02:08:33.557 回答