npm在哪里安装软件包?

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

神无逆天GO2020/03/13 18:05:03

我开始发疯寻找真正的配置,所以这是Linux上所有配置文件的列表:

  • / etc / npmrc
  • / home /您的用户/.npmrc
  • /root/.npmrc

在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全局,但不会覆盖本地

这是找不到在何处配置的所有信息。希望我已经面面俱到。

乐小小猪猪2020/03/13 18:05:03

如果已安装Visual Studio,则将发现它带有自己的节点副本,该副本与您自己安装节点时路径上的副本分开-我的文件夹位于C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019中\ Community \ MSBuild \ Microsoft \ VisualStudio \ NodeJs。

如果从此目录中运行npm命令,则会发现Visual Studio中安装了哪些节点模块。

Itachi十三村村2020/03/13 18:05:03

顺便说一句,如果无法在本地找到,npm会在父文件夹中查找node_modules(最大根目录)。

小卤蛋Near小卤蛋2020/03/13 18:05:03

在Ubuntu 14.04中,它们安装在

/usr/lib/node_modules

JimGil前端2020/03/13 18:05:03

文档

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

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

有作用域的软件包以相同的方式安装,只不过它们在相关的node_modules文件夹的子文件夹中分组在一起,该子文件夹的作用域名称以@符号表示,例如npm install @ myorg / package会将软件包放置在{prefix}中。 / node_modules / @ myorg / package。请参阅范围以获取更多详细信息。

如果您需要require()软件包,请在本地安装。

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

了解本地信息
阅读有关全球的内容

LEY猿2020/03/13 18:05:03

扩展其他答案-

npm list -g

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

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

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

JinJin2020/03/13 18:05:03

文档

在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安装节点时很有用)。

Eva蛋蛋番长2020/03/13 18:05:03

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

npm list -g

但是,如果您安装了许多npm软件包,此命令的输出可能会很长,并且向上滚动很麻烦(有时甚至无法向后滚动)。

在这种情况下,将输出通过管道传输到more程序中,如下所示

npm list -g | more
Mandy猴子2020/03/13 18:05:03

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

  1. 跑步 npm config edit
  2. 将前缀更改为“ C:\ Users \用户名\ AppData \ Roaming \ npm”
  3. 将该路径添加到系统路径变量中
  4. 用-g重新安装软件包。
神奇Eva2020/03/13 18:05:03

您可以通过以下命令找到全局安装的模块

npm list -g

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

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

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

npm list
LEY樱2020/03/13 18:05:03

最简单的方法是

npm列表-g

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

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

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

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

飞云猪猪前端2020/03/13 18:05:03

如果模块安装了全局(-g)标志,则可以通过运行以下命令来获取父位置

npm get prefix

要么

npm ls -g --depth=0

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

欢呼声:-)

村村宝儿Itachi2020/03/13 18:05:03

要获得没有依赖关系的紧凑列表,只需使用

npm list -g --depth 0
泡芙2020/03/13 18:05:03

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

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

2020/03/13 18:05:03

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

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

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

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

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

猪猪JinJin西里2020/03/13 18:05:03

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

Jnck2020/03/13 18:05:03

对于全局安装的模块:

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

当使用来安装全局模块时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模块的平台默认安装路径。

Itachi凯2020/03/13 18:05:03

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

例:

$ npm root -g
/usr/local/lib/node_modules
宝儿宝儿2020/03/13 18:05:03

如果您正在寻找npm安装的可执行文件,也许是因为您想将其放在PATH中,则只需执行以下操作

npm bin

要么

npm bin -g
Eva伽罗2020/03/13 18:05:03

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

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

请参阅文档。

梅村村Gil2020/03/13 18:05:03

全球图书馆

您可以运行npm list -g以查看安装了哪些全局库以及它们的位置。使用npm list -g | head -1用于显示人的路截断输出。如果您只想显示主软件包而不显示与其一起安装的子软件包(可以使用)npm list --depth=0,则可以使用- 将显示所有软件包并仅获取全局安装的软件包,只需添加-g ie即可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

非全局库

Non-global libraries are installed the node_modules sub folder in the folder you are currently in.

You can run npm list to see the installed non-global libraries for your current location.

When installing use -g option to install globally

npm install -g pm2 - pm2 will be installed globally. It will then typically be found in /usr/local/lib/node_modules (Use npm root -g to check where.)

npm install pm2 - pm2 will be installed locally. It will then typically be found in the local directory in /node_modules