npm 注册表是托管 JavaScript 包的事实标准。这些包具有一种特定的格式,称为npm 包。
因此,在 JavaScript 生态系统中,包管理器是一个用于从 npm 注册表或其他来源安装 npm 包的命令行工具。
最流行的包管理器称为npm,它与 Node.js 捆绑在一起。它的名字最初代表“Node Package Manager”。后来,当 npm 和 npm 注册表不仅用于 Node.js 包时,定义改为“npm 不是包管理器”(来源)。
还有其他流行的包管理器,例如 yarn 和 pnpm。所有这些包管理器默认都使用 npm 注册表。
我们通过 shell 命令 npm
使用 npm,该命令提供多个子命令,例如 npm install
。
我们可以使用 npm
命令来解释自身:一方面,可以使用选项 -h
,它可以在 npm
和 npm 命令之后使用。它提供了简要说明
npm -h # brief explanation of `npm`
npm <cmd> -h # brief explanation of `npm <cmd>`
另一方面,还有命令 npm help
,它提供了更长的说明
npm help # brief explanation of `npm` (same as `npm -h`)
npm help npm # longer explanation of `npm`
npm help <cmd> # longer explanation of `npm <cmd>`
npm help <topic> # longer explanation of <topic>
帮助主题包括
文件夹
npmrc
package.json
官方 npm 文档也可以在线获取。
以下是一些常用命令
npm init
“初始化”当前目录为包。也就是说,它在其中创建文件 package.json
。此命令在§14.3.1 “设置包目录” 中进行了说明。
npm install
全局或本地安装 npm 包。它在§13 “安装 npm 包并运行 bin 脚本” 中进行了说明。
npm publish
将包发布到注册表:它创建新包或更新现有包。它在§14.5.3 “npm publish
:将包上传到 npm 注册表” 中进行了说明。
npm run
(npm run-script
的缩写)执行包脚本。包脚本在§15 “通过 npm 包脚本运行跨平台任务” 中进行了说明。
npm uninstall
移除全局或本地安装的包。
npm version
打印对象 process.versions
,该对象记录了 Node.js 和 npm 各种组件的版本
{'my-package': '1.0.0', // current package
npm: '8.15.0',
node: '18.7.0',
v8: '10.2.154.13-node.9',
uv: '1.43.0', // libuv
···tz: '2022a', // version of tz database
unicode: '14.0', // version of Unicode standard
··· }
npx
允许我们在不安装包的情况下运行包中的 bin 脚本。它在§13.4 “npx
:在不安装 npm 包的情况下运行 bin 脚本” 中进行了描述。
npm 文档包含所有 npm 命令的列表。
许多 npm 命令都有缩写 - 例如
缩写 | 完整 |
---|---|
npm i |
npm install |
npm rm |
npm uninstall |
npm run |
npm run-script |
npm 文档还列出了其描述的每个 npm 命令的所有别名(包括缩写)。