npm安装包在哪里?

时间:2011-05-08 09:39:20

标签: javascript node.js location npm

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

24 个答案:

答案 0 :(得分:910)

全球图书馆

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

答案 1 :(得分:488)

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

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

See the documentation.

答案 2 :(得分:181)

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

实施例

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

答案 3 :(得分:76)

对于全局安装的模块:

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

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

答案 4 :(得分:61)

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

答案 5 :(得分:16)

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

可在https://github.com/isaacs/npm/blob/master/doc/install.md

找到更多信息

答案 6 :(得分:13)

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

npm bin

npm bin -g

答案 7 :(得分:12)

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

npm get prefix

npm ls -g --depth=0

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

干杯: - )

答案 8 :(得分:11)

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

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

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

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

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

答案 9 :(得分:10)

最简单的方法是做

  

npm list -g

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

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

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

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

答案 10 :(得分:5)

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

npm list -g

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

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

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

npm list

答案 11 :(得分:3)

来自docs

  

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

     
      全局
  • - 这会删除{prefix}/lib/node_modules中的模块,并将可执行文件放入{prefix}/bin,其中{prefix}通常为/usr/local   像{prefix}/share/man这样的东西。它还安装了手册页   ./node_modules,如果提供的话。{/ p>

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

  •   

您可以使用npm config get prefix获取public function add($input) { $error = $data['message']; return $error; } 。 (在使用nvm安装节点时很有用。)

答案 12 :(得分:3)

来自docs

  

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

     

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

     

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

     

如果您想要()包,请在本地安装。

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

了解locally 阅读globally

答案 13 :(得分:3)

要获取没有依赖性的紧凑列表,只需使用

npm list -g --depth 0

答案 14 :(得分:2)

在Ubuntu 14.04中,它们安装在

/usr/lib/node_modules

答案 15 :(得分:2)

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

npm list -g

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

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

npm list -g | more

答案 16 :(得分:2)

我开始发疯寻找真正的配置,所以这是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全局,但不会覆盖本地

以下是所有缺少的信息,无法找到在哪里配置的内容。希望我已经筋疲力尽。

答案 17 :(得分:1)

如果您尝试通过代码访问全局目录,则可以从process.execPath回溯。例如,要查找../page/page2.js import globalResources, { _LOCALE, _LOCALECONFIG } from './../shared/globalResources'; console.log(_LOCALE); // 'it' but i would like it to be 'en' 中的wsproxy,您可以:

{NODE_GLOBAL_DIR}/bin/wsproxy

答案 18 :(得分:1)

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

  1. 运行npm config edit
  2. 将前缀更改为'C:\ Users \ username \ AppData \ Roaming \ npm'
  3. 将该路径添加到系统路径变量中
  4. 使用-g重新安装软件包。

答案 19 :(得分:1)

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

答案 20 :(得分:1)

扩展其他答案-

import xlwt, csv, os from openpyxl import load_workbook import pandas as pd from pandas import ExcelWriter csv_folder = r'C:\Users\Me\Desktop\Test_Folder\\' writer = pd.ExcelWriter('condensed_output.xlsx', engine = 'xlsxwriter') for fil in os.listdir(csv_folder): if '.xlsx' not in fil: continue else: pass df = pd.read_excel(csv_folder+fil, encoding = 'utf8') file_name = fil.replace('.xlsx','') df.to_excel(writer, sheet_name = file_name) writer.save() #make sure this is outside of the loop.

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

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

npm list -g

答案 21 :(得分:1)

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

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

答案 22 :(得分:1)

  • 回显配置:npm config lsnpm config list

  • 显示所有配置设置:npm config ls -lnpm config ls --json

  • 打印有效的 node_modules 文件夹:npm rootnpm root -g

  • 打印本地前缀:npm prefixnpm prefix -g

    (这是包含 package.json 文件或 node_modules 目录的最接近的父目录)


答案 23 :(得分: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的列表,您可能需要有效地运行该项目。