NPM
名词 · 包管理器
Node.js 的官方包管理器,也是全球最大的开源软件注册中心——托管超过 200 万个 JavaScript 包,使开发者能够以标准化和版本化的方式共享、复用和分发代码。
随每次 Node.js 安装附带的命令行工具(CLI),自动化 JavaScript 项目的依赖安装、更新和管理——通过 `package-lock.json` 文件和确定性版本解析确保构建的可复现性。
完整的生态系统,包含公共注册中心(npmjs.com)、CLI 客户端和组织管理功能——已成为现代 Web 开发的基石,为 React、Next.js、Express.js 以及几乎所有专业 JavaScript 库提供分发基础设施。
NPM(Node Package Manager)用于管理 JavaScript 项目的依赖,自动化第三方库的安装、更新和删除。它让开发者可以复用经过验证的开源代码而不必从头编写,大大加速开发周期。NPM 还用于执行 `package.json` 文件中定义的构建、测试和部署脚本。它是我们在 Async Code 日常使用的每个现代 Web 项目的必备工具。
NPM 是 Node.js 的默认包管理器,由在线注册中心(npmjs.com,包含超过 200 万个包)和命令行工具组成。其工作原理很简单:当您执行 `npm install` 时,CLI 读取项目的 `package.json` 文件,解析依赖树,从注册中心下载包并安装到 `node_modules` 文件夹。`package-lock.json` 文件确保团队每个成员和每个环境使用完全相同的版本。
`npm install -g` 命令在系统上全局安装一个包,使其可以从任何目录通过命令行访问。与本地安装(不带 `-g` 标志,将包放入当前项目的 `node_modules` 文件夹)不同,全局安装专用于 CLI 工具,如 `typescript`、`nodemon` 或 `create-next-app`。实际上,我们建议尽量减少全局安装,优先使用 `npx` 来临时执行工具而不污染系统环境。
Node.js 是基于 Chrome V8 引擎构建的服务端 JavaScript 运行环境,允许在浏览器之外运行 JavaScript。NPM 是随 Node.js 附带的包管理器,负责管理项目的库和依赖。简而言之:Node.js 执行代码,NPM 管理代码模块。两者互补且在现代 Web 开发中密不可分——安装 Node.js 会自动安装 NPM。
NPM 用于集中化和自动化管理 JavaScript 项目的所有依赖。它可以通过一条命令安装 React 或 Next.js 等框架,维护库版本之间的兼容性,并与社区共享您自己的模块。NPM 还管理 `package.json` 中定义的开发脚本(构建、测试、代码检查、部署),是所有专业开发工作流程的指挥中心。我们的团队依靠 NPM 确保可复现的构建和可靠的部署。
是的,`npm install`(或其缩写 `npm i`)命令会触发下载和安装项目 `package.json` 文件中列出的所有依赖。它会创建包含各个包的 `node_modules` 文件夹,并生成 `package-lock.json` 文件来锁定版本。您也可以使用 `npm install 包名` 来安装特定包。这通常是克隆项目后执行的第一条命令,用于准备开发环境。
要在 Windows 上安装 NPM,请从官方网站 nodejs.org 下载 Node.js 安装程序——NPM 自动包含在每次 Node.js 安装中。运行 `.msi` 安装程序,按照向导步骤操作并勾选添加到系统 PATH 的选项。安装完成后,打开终端(PowerShell 或 CMD)并使用 `node -v` 和 `npm -v` 验证。对于专业开发者,我们建议使用 NVM for Windows(Node Version Manager)以便根据项目需要轻松切换不同的 Node.js 版本。
命令行(终端)中的 NPM 是与 NPM 注册中心交互并管理项目依赖的命令行界面(CLI)。主要命令包括:`npm init`(创建项目)、`npm install`(安装依赖)、`npm run`(执行脚本)、`npm update`(更新包)和 `npm publish`(发布包)。这是每个 JavaScript 开发者日常用来管理项目完整生命周期的工具。
不,NPM 和 Node.js 是两个不同但互补的工具。Node.js 是允许在服务器或本地机器上运行 JavaScript 代码的运行环境。NPM 是管理项目所需库和模块的包管理器。NPM 随 Node.js 一起分发——安装一个会自动安装另一个——但它们执行不同的功能。就像引擎(Node.js)和零件库(NPM)之间的关系。
NPM 在 JavaScript 开发中执行四项核心功能:安装和管理项目依赖,执行自动化脚本(构建、测试、部署),通过语义化版本管理确保包之间的兼容性,以及提供集中的注册中心来发布和共享开源代码。没有 NPM,每个开发者都需要手动下载、配置和更新每个库。在 Async Code,NPM 是我们所有 Next.js 应用的开发、CI/CD 和部署链的基石。