阅读(2638) (8)

npm 包管理器 npm

2021-09-06 14:57:24 更新

javascript 包管理器

概要

npm <command> [args]

版本

7.0.0

描述

npm 是 Node JavaScript 平台的包管理器。它将模块放在适当的位置,以便节点可以找到它们,并智能地管理依赖冲突。

它非常可配置以支持各种用例。最常见的是,它用于发布、发现、安装和开发节点程序。 运行npm help以获取可用命令的列表。

重要的

默认情况下,npm 配置为使用 npm, Inc. 在https://registry.npmjs.org 上的公共注册表 。npm 公共注册表的使用受https://www.npmjs.com/policies/terms 上提供的使用条款的约束。

你可以将 npm 配置为使用您喜欢的任何兼容注册表,甚至可以运行你自己的注册表。使用他人的注册表可能受其使用条款的约束。

依赖

如果一个包通过 git URL 引用另一个包,npm 依赖于预安装的 git。

如果 npm 尝试安装的包之一是本机节点模块并且需要编译 C++ 代码,npm 将使用 node-gyp执行该任务。对于 Unix 系统,node- gyp 需要 Python、make 和像 GCC 这样的构建链。在 Windows 上,需要 Python 和 Microsoft Visual Studio C++。node-gyp不支持 Python 3 。

目录

请参阅npm-folders了解 npm 将东西放在哪里。

特别是,npm 有两种操作模式:

  • 全局模式:npm 将包安装到安装前缀 at 中 prefix/lib/node_modules,bins 安装在prefix/bin.
  • 本地模式:npm 将包安装到当前项目目录中,默认为当前工作目录。包安装到 ./node_modules,bin 安装到./node_modules/.bin.

本地模式是默认模式。使用-g--global在任何命令上改为在全局模式下运行。

开发者使用

如果你使用 npm 开发和发布代码,请查看以下帮助主题:

  • json:制作 package.json 文件。见package.json
  • 链接:用于将你当前的工作代码链接到 Node 的路径中,这样你就不必每次进行更改时都重新安装。使用 npm link要做到这一点。
  • 安装:如果你不需要符号链接,最好安装一些东西。特别是,从注册表安装其他人的代码是通过 npm install
  • adduser:创建帐户或登录。凭据存储在用户配置文件中。
  • 发布:使用该npm publish命令将您的代码上传到注册表。

配置

npm 是极其可配置的。它从 5 个地方读取其配置选项。

  • 命令行开关:使用--key val. 所有键都有一个值,即使它们是布尔值(配置解析器在解析时不知道选项是什么)。如果未提供任何值,则该选项设置为 boolean true
  • 环境变量:通过在环境变量中为名称添加前缀来设置任何配置 npm_config_。例如,export npm_config_key=val
  • 用户配置:$HOME/.npmrc 中的文件是一个 ini 格式的配置列表。如果存在,则对其进行解析。如果userconfig在 cli 或 env 中设置了该选项,则将使用该选项。
  • 全局配置:在 ../etc/npmrc 中找到的文件(来自节点可执行文件,默认情况下解析为 /usr/local/etc/npmrc)如果找到将被解析。如果globalconfig在 cli、env 或用户配置中设置了该选项,则会改为解析该文件。
  • 默认值:npm 的默认配置选项在 lib/utils/config-defs.js 中定义。这些不得更改。有关[npm-config](https://www.npmjs.cn/misc/config)更多信息,请参阅。