关于javascript:npm安装包在哪里?

Where does npm install packages?

有人能告诉我在哪里可以找到我的node.js模块,这是我installed用npm吗? P / < >


全球图书馆

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

在Unix系统上,它们通常在全局安装时放在/usr/local/lib/node/usr/local/lib/node_modules中。如果将NODE_PATH环境变量设置为该路径,则可以按节点找到模块。

Windows XP-%USERPROFILE%\AppData
pm
ode_modules
。Windows 7、8和10-%USERPROFILE%\AppData
oaming
pm
ode_modules

非全局库

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

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


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

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

请参阅文档。


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

例子:

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


对于全局安装的模块:

其他答案会给您特定于平台的响应,但一般的答案是:

使用npm install -g something安装全局模块时,NPM会查找配置变量prefix以了解模块的安装位置。

你可以通过运行npm config get prefix获得这个值。

要显示该文件夹中所有可用的全局模块,请使用npm ls -g --depth 0(depth 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
oaming
pm
上。


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

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


如果您正在寻找安装了NPM的可执行文件,可能是因为您希望将其放在您的路径中,您只需

1
npm bin

1
npm bin -g


如果模块安装时带有global(-g标志,则可以通过运行以下命令来获取父位置

1
npm get prefix

1
npm ls -g --depth=0

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

干杯:


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

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


最简单的方法是

npm list -g

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

我通过Cholovey安装了NPM,所以位置是

C:myprogramdatachocoleylibodejs.commandline.0.10.31 oolsode_模块

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


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

1
npm list -g

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

1
2
3
C:\Users\[Username]\AppData
oaming
pm

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

1
npm list

来自文档:

Packages are dropped into the node_modules folder under the prefix.
When installing locally, this means that you can
require("packagename") to load its main module, or
require("packagename/lib/path/to/sub/module") to load other modules.

Global installs on Unix systems go to {prefix}/lib/node_modules.
Global installs on Windows go to {prefix}/node_modules (that is, no
lib folder.)

Scoped packages are installed the same way, except they are grouped
together in a sub-folder of the relevant node_modules folder with the
name of that scope prefix by the @ symbol, e.g. npm install
@myorg/package would place the package in
{prefix}/node_modules/@myorg/package. See scope for more details.

If you wish to require() a package, then install it locally.

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

在本地阅读。全球阅读。


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

1
npm list -g --depth 0

来自文档:

In npm 1.0, there are two ways to install things:

  • globally —- This drops modules in {prefix}/lib/node_modules, and puts executable files in {prefix}/bin, where {prefix} is usually
    something like /usr/local. It also installs man pages in
    {prefix}/share/man, if they’re supplied.

  • locally —- This installs your package in the current working directory. Node modules go in ./node_modules, executables go in
    ./node_modules/.bin/, and man pages aren’t installed at all.

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


在Ubuntu 14.04中,它们安装在

/usr/lib/node_modules


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

1
npm list -g

但是,如果您安装了大量的npm软件包,那么这个命令的输出可能会非常长,向上滚动会非常困难(有时甚至不可能向后滚动)。

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

1
npm list -g | more

如果您试图从代码访问全局dir,则可以从process.execPath进行回溯。例如,要找到wsproxy中的{NODE_GLOBAL_DIR}/bin/wsproxy,您只需:

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


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

  • 运行npm config edit
  • 将前缀更改为"C:usersusernameappdata
    oamingpm"
  • 将该路径添加到系统路径变量
  • 用-g重新安装程序包。

  • 顺便说一句,如果在本地找不到节点模块,NPM将在父文件夹(最多可达根目录)中查找。


    扩展其他答案-

    npm list -g

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

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

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


    Windows 7、8和10-%userprofile%appdata
    oamingpmodeu模块。

    注意:如果您在文件夹中,键入cd ..,直到您在C:目录中。然后,键入cd %USERPROFILE%\AppData
    oaming
    pm
    ode_modules
    。神奇的是,江户十一〔13〕变为江户十一〔14〕。我只是想澄清一下第一个回复中Decko提到的想法。npm list -g将列出您在全球安装的所有位。如果您需要找到与项目相关的npm package,然后是cd 'your angular project xyz',那么运行npm list。它将显示npm package中的模块列表。它还将向您提供dependencies丢失的列表,您可能需要有效地运行该项目。