有人能告诉我在哪里可以找到我用npm安装的Node.js模块吗?


当前回答

对于全局安装的模块:

其他答案给出了特定于平台的回答,但一个通用的回答是:

当你用npm install -g something安装全局模块时,npm会查找一个配置变量前缀来知道该在哪里安装模块。

你可以通过运行npm config get prefix来获取这个值

要显示该文件夹中所有可用的全局模块,请使用npm ls -g——depth 0 (depth 0表示不显示它们的依赖项)。

如果你想改变全局模块的路径,使用npm config edit并在文件中添加prefix = /my/npm/global/modules/prefix或使用npm config set prefix /my/npm/global/modules/prefix。

当你使用一些像nodist这样的工具时,它们会改变全局npm模块的平台默认安装路径。

其他回答

如果一个模块安装时带有global (-g)标志,你可以通过运行以下命令获取父模块的位置:

npm get prefix

or

npm ls -g --depth=0

它将打印位置以及已安装模块的列表。

要获得没有依赖项的紧凑列表,只需使用

npm list -g --depth 0

在早期的NPM版本中,模块总是放在/usr/local/lib/node或者你在.npmrc文件中指定NPM根目录的任何地方。然而,在NPM 1.0+中,模块被安装在两个地方。您可以在/中将模块安装到应用程序的本地。Node_modules或者你可以全局安装它们,这将使用上面的。

更多信息请访问https://github.com/isaacs/npm/blob/master/doc/install.md

从文档中可以看出:

在npm 1.0中,有两种方法来安装东西: global——将模块放在{prefix}/lib/node_modules中,并将可执行文件放在{prefix}/bin中,{prefix}通常在这里 类似于/usr/local。它还在其中安装手册页 {prefix}/share/man,如果它们被提供。 local——将包安装在当前工作目录中。节点模块进入。/node_modules,可执行文件进入 ./node_modules/.bin/和手册页根本没有安装。

你可以通过npm config get prefix获取{prefix}。(当你用nvm安装node时有用)。

在Ubuntu 14.04中,它们安装在

/usr/lib/node_modules