npm

javascript 包管理器

概要

npm <command> [args]

版本

6.14.18

描述

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

它具有极强的可配置性,可以支持各种用例。 最常见的是,它用于发布、发现、安装和开发 node 程序。

运行 npm help 以获取可用命令的列表。

重要

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

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

介绍

你可能获取 npm 因为你想安装东西。

使用 npm install blerg 安装最新版本的 "blerg"。 查看 npm install 了解更多信息。 它可以做很多事情。

使用 npm search 命令显示所有可用的内容。 使用 npm ls 显示你已安装的所有内容。

依赖

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

如果 npm 尝试安装的包之一是原生 node 模块并且需要编译 C++ 代码,则 npm 将使用 node-gyp 来完成该任务。 对于 Unix 系统,node-gyp 需要 Python、make 和 GCC 等构建链。 在 Windows 上,需要 Python 和 Microsoft Visual Studio C++。 欲了解更多信息,请访问 node-gyp 仓库node-gyp 维基

目录

请参阅 folders 以了解 npm 放置内容的位置。

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

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

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

开发者用法

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

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

配置

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

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

有关更多信息,请参见 config

贡献

欢迎补丁!

如果你想贡献,但不知道该做什么,请阅读贡献指南并检查问题列表。

缺陷

当你发现问题时,请报告它们:

请务必遵循模板和错误报告指南。 如果你不确定它是否真的是一个错误,或者在想出详细的重现报告时遇到问题,你也可以在 支持论坛 中寻求帮助。

作者

Isaac Z. Schlueter :: isaacs :: @izs :: i@izs.me

也可以看看

npm 中文网 - 粤ICP备13048890号