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


当前回答

回显config: npm config ls或npm config列表 显示所有的配置设置:npm config ls -l或npm config ls——json 打印有效的node_modules文件夹:npm root或npm root -g 打印本地前缀:npm prefix或npm prefix -g (这是最接近包含包的父目录。Json文件或node_modules目录)


npm-config | npm文档 npm-root | npm文档 npm-prefix | npm文档

其他回答

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

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的本地目录中找到它

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

从文档中可以看出:

包被放到前缀下的node_modules文件夹中。 在本地安装时,这意味着您可以 Require ("packagename")加载它的主模块,或者 Require ("packagename/lib/path/to/sub/module")加载其他模块。 Unix系统的全局安装路径为{prefix}/lib/node_modules。 Windows上的全局安装到{prefix}/node_modules(即no lib文件夹)。 作用域包以相同的方式安装,只是它们是分组的 一起放在相关node_modules文件夹的子文件夹中 用@符号表示作用域前缀的名称,例如NPM install @myorg/package将把包放在 {前缀}/ node_modules / @myorg包。参见范围了解更多细节。 如果您希望需要()一个包,那么在本地安装它。

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

在当地阅读。 全球阅读。

从文档中可以看出:

在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时有用)。