npm安装包在哪里?

javascript node.js location npm

464902 观看

20回复

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

作者: Tronic 的来源 发布者: 2019 年 5 月 29 日

回应 (20)


844

决定

全球图书馆

您可以运行npm list -g以查看安装全局库的位置。

在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以查看当前位置的已安装非全局库。

作者: Decko 发布者: 08.05.2011 09:47

461

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

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

请参阅文档。

作者: Joe Hawkins 发布者: 18.06.2014 09:31

171

使用该 npm root -g命令查找全局npm路径。

例:

$ npm root -g
/usr/local/lib/node_modules
作者: Ravi 发布者: 12.05.2016 10:32

70

对于全局安装的模块:

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

使用时安装全局模块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文件。

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

作者: jakub.g 发布者: 04.12.2014 03:50

59

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

作者: 9swampy 发布者: 25.03.2014 10:59

16

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

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

作者: Nick Campbell 发布者: 08.05.2011 04:30

13

如果您正在寻找安装了npm的可执行文件,可能是因为您想将它放在PATH中,您可以这样做

npm bin

要么

npm bin -g
作者: Ken Goodridge 发布者: 02.01.2018 09:43

12

如果module安装了global(-g)标志,则可以通过运行以下命令获取父位置

npm get prefix

要么

npm ls -g --depth=0

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

干杯:-)

作者: dheeran 发布者: 24.08.2016 02:19

11

不直接回答但可能有帮助....

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

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

因此,如果你想跟踪npm包,以及一些如何,所有下载的npm包的列表(如果未清除npm缓存)看看这个文件夹。文件夹结构如下{cache}/{name}/{version}

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

作者: Alireza Fattahi 发布者: 20.05.2017 09:45

9

最简单的方法就是做

npm list -g

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

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

C:\ MyProgramData \的巧克力\ LIB \ nodejs.commandline.0.10.31 \工具\ node_modules

C:\ MyProgramData \是巧克力回购地点。

作者: Tharaka 发布者: 11.09.2014 05:28

5

您可以通过该命令查找全局安装的模块

npm list -g

它将为您提供已安装node.js模块的位置。

C:\Users\[Username]\AppData\Roaming\npm

如果在文件夹中本地安装node.js模块,则可以键入以下命令以查看位置。

npm list
作者: Abdul Alim Shakir 发布者: 30.10.2017 04:42

3

来自文档

在npm 1.0中,有两种安装方式:

  • 全局 - 这会删除模块{prefix}/lib/node_modules,并将可执行文件放入{prefix}/bin{prefix}通常是这样的/usr/local。它还会安装手册页 {prefix}/share/man,如果它们已经提供的话。

  • 本地 - 这会将您的软件包安装在当前工作目录中。节点模块进入./node_modules,可执行文件进入 ./node_modules/.bin/,并且根本没有安装手册页。

你可以得到你{prefix}npm config get prefix。(在使用nvm安装节点时很有用)。

作者: edelans 发布者: 02.08.2016 01:35

3

来自文档

包被放入前缀下的node_modules文件夹中。在本地安装时,这意味着您可以要求(“packagename”)加载其主模块,或者要求(“packagename / lib / path / to / sub / module”)加载其他模块。

Unix系统上的全局安装转到{prefix} / lib / node_modules。Windows上的全局安装转到{prefix} / node_modules(即没有lib文件夹。)

Scoped软件包以相同的方式安装,除非它们在相关node_modules文件夹的子文件夹中组合在一起,其名称为@符号的范围前缀,例如npm install @ myorg / package会将软件包放在{prefix}中/ node_modules / @ MYORG /包。有关详细信息,请参阅范围

如果您想要()一个包,那么在本地安装它。

你可以得到你{prefix}npm config get prefix。(在使用nvm安装节点时很有用)。

本地阅读。全球
阅读。

作者: Randall Flagg 发布者: 25.08.2016 09:54

2

正如其他答案所说,最好的方法是做

npm list -g

但是,如果你安装了大量的npm软件包,那么这个命令的输出可能会非常长并且向上滚动会很麻烦(有时甚至无法向后滚动)。

在这种情况下,将out传递给more程序,就像这样

npm list -g | more
作者: Raphi 发布者: 11.05.2016 10:48

2

在Ubuntu 14.04中,它们安装在

/usr/lib/node_modules

作者: Ashutosh Singh 发布者: 03.07.2016 08:16

1

如果您尝试从代码访问全局目录,则可以回溯process.execPath。例如,要查找wsproxy,这是{NODE_GLOBAL_DIR}/bin/wsproxy,你可以:

path.join(path.dirname(process.execPath), 'wsproxy')
作者: A T 发布者: 10.09.2018 02:24

1

Windows 10:当我运行时npm prefix -g,我注意到安装位置位于我以前安装的git shell路径中。即使将该位置添加到路径中,也无法识别来自全局安装的包的命令。修正:

  1. 赛跑 npm config edit
  2. 将前缀更改为'C:\ Users \ username \ AppData \ Roaming \ npm'
  3. 将该路径添加到系统路径变量
  4. 用-g重新安装包。
作者: Marc Sloth Eastman 发布者: 17.10.2018 09:22

1

顺便说一句,如果在本地找不到,npm会在父文件夹中查找node_modules(最多为root)。

作者: Vitaliy Markitanov 发布者: 11.01.2019 09:56

0

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

注意:如果您在文件夹类型中的某个位置,cd ..直到您在C:目录中。然后,输入cd %USERPROFILE%\AppData\Roaming\npm\node_modules。并且,神奇地%USERPROFILE%将变成Users\YourUserProfile\。我只是想澄清Decko第一反应中提到的想法。npm list -g将列出您全局安装的所有位。如果你需要找到你的项目相关的npm package,然后cd 'your angular project xyz',再运行npm list。它将显示模块列表npm package。它还会为您提供dependencies缺失列表,您可能需要有效地运行该项目。

作者: surendrapanday 发布者: 13.02.2019 09:21

0

扩展其他答案 -

npm list -g

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

如果要将该列表输出到文件,则可以在文本编辑器中轻松搜索:

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

作者: TWLATL 发布者: 27.02.2019 07:30
32x32