Ubuntu 上 Node.js 项目如何管理依赖:npm 与 Yarn 使用梳理

Felix
Felix
发布时间:2026-08-24| 151人浏览过
原创

前言

在 Ubuntu 上做 Node.js 项目,依赖管理看起来只是装包和删包,实际会直接影响团队协作、环境一致性和部署稳定性。本文按实际使用顺序梳理 npm 与 Yarn 的常见命令、依赖分类方式和部署注意点,帮你判断什么时候该用自带的 npm,什么时候更适合用带锁文件的 Yarn。

在 Ubuntu 上做 Node.js 开发,依赖管理几乎是每个项目都绕不开的一步。真正需要先想清楚的,不是命令怎么敲,而是该用 npm 还是 Yarn、哪些包该进 dependencies、哪些只该留在 devDependencies。下面就按项目实际操作流程拆开说明,帮助你从初始化到部署都用一套清晰的方法把依赖管住。

Ubuntu 上用 npm 管理依赖

npm 是 Node.js 自带的包管理器,安装好 Node.js 后通常就能直接使用,不需要额外配置。对大多数项目来说,它也是最直接的起点。

npm 管理 Node.js 依赖的常用命令与依赖分类信息图
npm 依赖管理速览把 npm 的初始化、依赖分类和维护命令放在同一张图里,方便快速查阅。

先用 npm init 建立项目清单

在项目根目录执行 npm init,按提示填写名称、版本等信息后,会生成一个 package.json 文件。这个文件可以理解为项目依赖清单,后续安装过哪些包、项目名称和版本信息,都会记录在这里。

npm init

安装依赖时,区分生产依赖和开发依赖

安装普通依赖时,可以使用 npm install <包名> --sa ve,包名会写入 dependencies。这类依赖通常是项目运行时必须存在的内容。

如果安装的是测试框架、构建工具这类只在开发阶段使用的包,则使用 npm install <包名> --sa ve-dev,它们会进入 devDependencies,生产环境一般不需要这部分。

npm install <包名> --sa ve
npm install <包名> --sa ve-dev

拿到项目后如何安装、更新和删除依赖

如果是接手已有项目,直接执行 npm install,npm 会按照 package.json 中记录的内容安装依赖。

更新依赖可以使用 npm update;删除某个不再需要的包,则执行 npm uninstall <包名>。

npm install
npm update
npm uninstall <包名>

Ubuntu 上用 Yarn 管理依赖

Yarn 是另一个常见选择,整体使用逻辑和 npm 接近,但在锁定依赖版本这件事上更容易让团队保持一致。

Yarn 安装、锁文件与团队一致性关系图
Yarn 与 yarn.lock 的作用这张图突出 Yarn 的使用流程,以及 yarn.lock 对版本一致性的作用。

先安装 Yarn,再初始化项目

在 Ubuntu 上可以先执行下面的命令安装 Yarn:

sudo apt-get install yarn

安装完成后,使用 yarn init 初始化项目,同样会生成 package.json。

yarn init

Yarn 的关键区别:自动记录依赖并生成 yarn.lock

使用 yarn add <包名> 安装依赖时,Yarn 会自动把依赖写入 dependencies,同时生成一个 yarn.lock 文件。

yarn.lock 的作用是锁定每个依赖的具体版本,这样团队成员在不同机器上安装出来的依赖结果会更一致,能减少环境差异带来的问题。

yarn add <包名>

开发依赖、安装全部依赖、更新与删除命令

开发阶段专用依赖可以用 yarn add <包名> --dev,它会进入 devDependencies。

安装项目全部依赖时,可以执行 yarn 或 yarn install。更新某个依赖用 yarn upgrade <包名>,删除依赖则用 yarn remove <包名>。

yarn add <包名> --dev
yarn
yarn install
yarn upgrade <包名>
yarn remove <包名>

npm 和 Yarn 怎么选

如果你希望开箱即用,安装好 Node.js 就直接开始,npm 已经足够覆盖初始化、安装、更新和删除依赖这些日常工作。

如果你更看重团队协作时的版本一致性,Yarn 生成的 yarn.lock 会更容易帮助你控制安装结果,尤其适合多人协作场景。

两者的核心思路其实一致:都围绕 package.json 管理依赖,只是命令形式和锁定版本的习惯略有不同。选定一种后,尽量在同一个项目里保持一致,避免团队成员混用导致依赖状态难以追踪。

部署时要注意哪些文件

部署 Node.js 项目时,文中的建议是把 node_modules 文件夹和 package.json(或 yarn.lock)文件一起上传。这样可以尽量确保不同环境中安装和运行的依赖版本保持一致,减少上线后因为版本偏差带来的问题。

Node.js 项目从开发到部署的依赖文件携带关系图
部署阶段的依赖一致性把部署时需要关注的文件和一致性目标说明清楚,避免环境差异影响上线。

无论你最终使用 npm 还是 Yarn,真正重要的是把依赖清单、依赖类型和版本控制这三件事处理清楚,这样项目交接、协作和部署都会省心很多。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。