Node.js 编程实战:npm和yarn基础使用

在 Node.js 项目开发中,包管理工具是不可或缺的基础设施。无论你是在搭建后端服务器、构建前端工程,还是创建命令行工具,都需要依赖成千上万的第三方包。因此,理解 npm 与 yarn 的使用方法,对于提升开发效率、保证项目可维护性至关重要。

本篇文章将带你快速掌握 npm 与 yarn 的核心概念、基本命令以及日常开发中最常用的技巧。


一、什么是包管理工具?

当你开始一个 Node.js 项目时,会使用各种第三方库,例如:

  • Express(搭建 Web 服务)
  • axios(请求 HTTP 接口)
  • lodash(工具方法库)
  • moment / dayjs(时间处理)

这些依赖包由 npm 或 yarn 来完成:

  • 下载与管理依赖
  • 管理版本号
  • 配置项目脚本
  • 发布自定义模块

简而言之,包管理工具就是项目依赖的"仓库管理员"。


二、npm:Node.js 自带的包管理器

npm 全称 Node Package Manager,是 Node.js 安装包中自带的工具,生态最为庞大。

npm 常用命令

1. 查看版本

bash 复制代码
npm -v

2. 初始化项目

生成 package.json:

bash 复制代码
npm init -y

3. 安装依赖

安装到 dependencies:

bash 复制代码
npm install express

安装到 devDependencies:

bash 复制代码
npm install nodemon --save-dev

4. 全局安装

bash 复制代码
npm install -g typescript

5. 删除依赖

bash 复制代码
npm uninstall express

6. 清理缓存

bash 复制代码
npm cache clean --force

npm 使用简单直接,适合入门且更加官方。


三、为什么出现 yarn?

npm 在早期存在以下问题:

  • 安装速度慢
  • 锁文件不稳定
  • 安装结果不可复现

为了解决这些痛点,Facebook 推出了 yarn,它提供了更快、更稳定的安装体验。

如今 npm 经过多次升级性能已经提升许多,但 yarn 仍拥有大量用户。


四、yarn 的常用命令

查看版本:

bash 复制代码
yarn -v

初始化项目:

bash 复制代码
yarn init -y

安装依赖:

bash 复制代码
yarn add express

安装开发依赖:

bash 复制代码
yarn add nodemon -D

删除依赖:

bash 复制代码
yarn remove express

全局安装:

bash 复制代码
yarn global add typescript

查看已安装包:

bash 复制代码
yarn list

相比 npm,yarn 的输出信息更简洁,速度也更快。


五、npm 与 yarn 命令对照表

功能 npm yarn
初始化项目 npm init -y yarn init -y
安装项目依赖 npm install yarn
安装包 npm install xxx yarn add xxx
安装开发依赖 npm install xxx -D yarn add xxx -D
删除包 npm uninstall xxx yarn remove xxx
全局安装 npm install -g xxx yarn global add xxx
运行脚本 npm run start yarn start

你可以看到 yarn 的命令更简短。


六、package.json:npm 与 yarn 的核心文件

无论你使用 npm 还是 yarn,package.json 都扮演着中心角色。它记录:

  • 项目名称与版本
  • 依赖列表
  • 开发依赖
  • 执行脚本
  • 是否为 ES Module

示例:

json 复制代码
{
  "name": "node-demo",
  "version": "1.0.0",
  "scripts": {
    "start": "node index.js"
  }
}

日常开发中,你经常会向 scripts 中添加测试、构建、开发命令。


七、package-lock.json 与 yarn.lock 的作用

为了确保项目在任何时间、任何机器上安装的依赖版本一致,包管理器会生成锁文件。

  • npm 使用 package-lock.json
  • yarn 使用 yarn.lock

锁文件可以避免"今天能运行,明天依赖版本变了就崩了"的情况。

锁文件是必须提交到代码仓库的。


八、npm 与 yarn 应该怎么选?

适合使用 npm 的情况

  • 纯 Node.js 后端项目
  • 希望保持官方工具链
  • 需要较少的额外配置
  • 团队不追求极致性能

npm 初学容易,安装即可使用。

适合使用 yarn 的情况

  • 前端工程规模较大
  • 依赖数量多且安装频繁
  • 任何需要快速安装速度的项目
  • 多人协作需要更稳定的锁文件

yarn 的并行下载能力更优秀,适合大型前端项目。


九、混合使用会有什么问题?

在一个项目中,如果同时使用 npm 和 yarn,会导致:

  • 依赖解析混乱
  • 锁文件重复
  • node_modules 内容不一致

建议:

一个项目只用一个包管理器

要么统一用 npm,要么统一用 yarn,避免混乱。


十、总结

npm 与 yarn 是 Node.js 项目构建的基础工具,它们的作用都是帮助开发者高效管理依赖。npm 更官方、更易上手,而 yarn 更快速、更适合大型工程。

日常开发中,只要掌握:

  • 如何安装依赖
  • 如何添加脚本
  • 如何管理锁文件
  • 如何全局与本地安装工具

就可以轻松胜任大多数 Node.js 项目的依赖管理工作。

相关推荐
程序员爱钓鱼1 小时前
Node.js 编程实战:CommonJS 与ES6 模块
后端·node.js·trae
开心猴爷1 小时前
构建可落地的 iOS 性能测试体系,从场景拆解到多工具协同的工程化实践
后端
Java水解1 小时前
常用经典 SQL 语句大全完整版–详解+实例
后端
雨中飘荡的记忆1 小时前
Spring Test详解
java·后端·spring
神奇小汤圆1 小时前
MQ生产者确认机制捕获到消息投递失败后如何重试?
后端
不思念一个荒废的名字1 小时前
【黑马JavaWeb+AI知识梳理】Web后端开发01 - 准备工作、部门管理、日志技术、多表关系、员工管理
后端
用户68545375977691 小时前
别再裸奔写Python了!类型注解+mypy让你代码健壮如钢铁侠
后端
用户68545375977691 小时前
为什么大厂都在升级Python 3.12?看完我连夜重构了代码
后端
Frank_zhou1 小时前
039_Netty网络编程服务端入门程序开发
后端