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


当前回答

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

npm get prefix

or

npm ls -g --depth=0

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

其他回答

正如其他答案所说,最好的办法就是去做

npm list -g

然而,如果你安装了大量的npm包,这个命令的输出可能会很长,而且要向上滚动很痛苦(有时甚至不可能滚动那么远)。

在这种情况下,将输出输送到more程序,如下所示

npm list -g | more

Windows 10:当我运行npm prefix -g时,我注意到安装位置在我用来安装的git shell路径内。即使将该位置添加到路径中,来自全局安装包的命令也不会被识别。固定:

运行NPM配置编辑 将前缀改为“C:\Users\username\AppData\Roaming\npm” 将该路径添加到系统路径变量中 使用-g重新安装包。

在Ubuntu 14.04中,它们安装在

/usr/lib/node_modules

不是直接的回答,但可能会有帮助....

npm也有一个缓存文件夹,可以通过运行npm config get cache (%AppData%/npm-cache)找到。

npm模块首先在这里下载,然后复制到npm全局文件夹(%AppData%/Roaming/npm在Windows上)或项目特定的文件夹(your-project/node_modules)。

因此,如果你想跟踪npm包,以及以某种方式,所有下载的npm包的列表(如果npm缓存没有被清理)可以看看这个文件夹。文件夹结构为{cache}/{name}/{version}

这可能也有帮助https://docs.npmjs.com/cli/cache

全球图书馆

你可以运行npm list -g来查看安装了哪些全局库以及它们的位置。使用npm list -g | head -1来截断输出,只显示路径。如果你想只显示主包,而不是随它安装的子包,你可以使用- npm list——depth=0,它将显示所有的包,如果只获得全局安装的包,只需添加-g,即npm list -g——depth=0。

在Unix系统上,当全局安装时,它们通常放在/usr/local/lib/node或/usr/local/lib/node_modules中。如果将环境变量“NODE_PATH”设置为该路径,则可以按节点查找模块。

Windows XP - %USERPROFILE%\AppData\npm\node_modules Windows 7,8和10 %USERPROFILE%\AppData\Roaming\npm\node_modules

非全局库

非全局库安装在当前所在文件夹的node_modules子文件夹中。

你可以运行npm list来查看当前位置已安装的非全局库。

安装时使用-g选项进行全局安装

NPM install -g pm2 - pm2将全局安装。然后通常会在/usr/local/lib/node_modules中找到它(使用npm root -g检查位置)。

NPM install pm2 - pm2将在本地安装。然后通常会在/node_modules的本地目录中找到它