npm 在哪里安装软件包?

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

答案

全球图书馆

您可以运行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 %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的本地目录中找到它

命令npm root将告诉您 npm 软件包的有效安装目录。

如果当前工作目录是节点软件包或节点软件包的子目录,则npm root会告诉您本地安装目录。无论当前工作目录如何, npm root -g都会显示全局安装根目录。

请参阅文档。

$ npm root -g
/usr/local/lib/node_modules

对于全局安装的模块:

其他答案将为您提供特定于平台的响应,但是通用的答案是:

当使用npm install -g something安装全局模块时,npm 查找配置变量prefix以知道模块的安装位置。

您可以通过运行npm config get prefix获得该值

要显示该文件夹中所有可用的全局模块,请使用npm ls -g --depth 0depth 0不显示其依赖性)。

如果要更改全局模块路径,请使用npm config edit并在文件中添加prefix = /my/npm/global/modules/prefix或使用npm config set prefix /my/npm/global/modules/prefix

当您使用诸如nodist 之类的工具时,它们会更改全局 npm 模块的平台默认安装路径。

在 Windows 上,我使用npm list -g进行查找。默认情况下,我的(全局)软件包已安装到C:\Users\[Username]\AppData\Roaming\npm

npm bin
npm bin -g

在早期版本的 NPM 中,模块始终放置在 / usr / local / lib / node 或在. npmrc 文件中指定 npm 根目录的任何位置。但是,在 NPM 1.0 + 中,模块安装在两个位置。您可以在 /.node_modules 中将模块安装到应用程序本地,也可以全局安装它们,以使用上述模块。

可以在https://github.com/isaacs/npm/blob/master/doc/install.md 中找到更多信息。

没有直接答案,但可能会有所帮助。

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

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

因此,如果要跟踪 npm 软件包(以及某些方法),则所有下载的 npm 软件包的列表(如果未清除 npm 缓存)都可以查看此文件夹。文件夹结构为{cache}/{name}/{version}

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

npm get prefix
npm ls -g --depth=0

最简单的方法是

npm 列表 - g

列出软件包并查看其安装位置。

我已经通过 chololatey 安装了 npm,所以位置是

C:\ MyProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.31 \ tools \ node_modules

C:\ MyProgramData \ 是巧克力回购位置。