npm在哪里安装软件包?

2020/09/18 22:31 · javascript ·  · 0评论

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

全球图书馆

您可以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

非全局库

非全局库安装在node_modules您当前所在文件夹子文件夹中。

您可以运行npm list以查看当前位置的已安装非全局库。

安装时,使用-g选项进行全局安装

npm install -g pm2-pm2将在全球安装。然后通常可以在/usr/local/lib/node_modulesnpm 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安装的可执行文件,也许是因为您想将其放在PATH中,则只需执行以下操作

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%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

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

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 \是巧克力回购位置。

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

npm list -g --depth 0

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

npm list -g

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

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

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

npm list

文档

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

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

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

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

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

文档

程序包将放在前缀下的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安装节点时很有用)。

了解本地信息

阅读有关
全球的内容

在Ubuntu 14.04中,它们安装在

/usr/lib/node_modules

扩展其他答案。

npm list -g

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

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

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

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

npm list -g

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

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

npm list -g | more

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

如果您尝试从代码访问全局目录,则可以从进行回溯process.execPath例如,要查找wsproxy位于中的{NODE_GLOBAL_DIR}/bin/wsproxy,您可以:

path.join(path.dirname(process.execPath), 'wsproxy')

还有如何npmCLI作品@ ec9fcc1/lib/npm.js#L254有:

path.resolve(process.execPath, '..', '..')

另请参见ec9fcc1/lib/install.js#L521

var globalPackage = path.resolve(npm.globalPrefix,
                                 'lib', 'node_modules', moduleName(pkg))

globalPrefix在一组默认ec9fcc1/lib/config/defaults.js#L92-L105的:

if (process.env.PREFIX) {
    globalPrefix = process.env.PREFIX
} else if (process.platform === 'win32') {
    // c:\node\node.exe --> prefix=c:\node\
    globalPrefix = path.dirname(process.execPath)
} else {
    // /usr/local/bin/node --> prefix=/usr/local
    globalPrefix = path.dirname(path.dirname(process.execPath))

    // destdir only is respected on Unix
    if (process.env.DESTDIR) {
        globalPrefix = path.join(process.env.DESTDIR, globalPrefix)
    }
}

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

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

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缺少的列表,并且您可能需要有效地运行该项目。

本文地址:http://javascript.askforanswer.com/npmzainalianzhuangruanjianbao.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!