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


当前回答

从文档中可以看出:

在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

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

npm get prefix

or

npm ls -g --depth=0

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

我在寻找真正的配置时开始发狂,所以这里是linux上所有配置文件的列表:

/etc/npmrc /home/youruser/.npmrc /root/.npmrc 。/。NPMRC在当前目录下的包旁边。json文件(感谢@CyrillePontvieux)

在windows上:

c/Program\ Files/nodejs/node_modules/npm/npmrc

然后在这个文件中配置前缀:

prefix=/usr

该前缀在linux中默认为/usr,在windows中默认为${APPDATA}\npm

节点模块在$prefix树下,路径中需要包含$prefix/bin

可能有一个问题:

在全局安装时,首先使用“sudo su”,然后使用/root/。可以使用NPMRC ! 当您在本地使用而不使用sudo时:对于您的用户,它是/home/youruser/.npmrc. 当路径不代表前缀时 当你使用npm set -g prefix /usr时,它会设置/etc/npmrc全局,但不会覆盖本地

这里是所有缺失的信息,以查找在哪里配置了什么。希望我讲得够详尽了。

扩展其他答案。

npm list -g

将显示全局安装包的位置。

如果你想把这个列表输出到一个文件中,你可以很容易地在你的文本编辑器中搜索:

npm list -g > ~/Desktop/npmfiles.txt

顺便说一句,如果在local文件夹中找不到node_modules, npm将在父文件夹(直到非常根)中寻找。