1. 引言
为什么在 Ubuntu 上使用 npm
前端和后端开发的一个基本工具是 npm (Node 包管理器)。npm 作为 Node.js 的包管理工具被广泛使用,允许开发者轻松安装和管理 JavaScript 库和工具。
在 Ubuntu 上使用 npm,您可以利用 Linux 的轻量级性能和灵活的包管理,同时显著提高开发效率。Ubuntu 是一个由大型开发者社区支持的发行版,广泛用于从服务器操作到本地开发环境的一切。
特别是,在使用基于 Node.js 的框架如 Vue.js、React 和 Next.js 时,使用 npm 管理包是标准方法。在 Ubuntu 上设置这些工具可以构建一个比 Windows 或 macOS 更少问题的稳定开发环境。
本文目的
本文提供在 Ubuntu 上安装 npm 并掌握其基本使用的逐步指南。它特别针对以下受众:
- 新接触 Ubuntu 的开发者
- 在 Node.js 或 npm 设置上遇到困难的人
- 任何希望以结构化方式学习 npm 的人
介绍了多种安装方法,以及它们的特性、优点和缺点。此外,本指南涵盖常见错误、故障排除提示和有用的命令,以帮助读者在 Ubuntu 上顺利使用 npm。
2. 在 Ubuntu 上安装 Node.js 和 npm
要在 Ubuntu 上使用 npm,您必须首先安装 Node.js。由于 npm 与 Node.js 捆绑在一起,安装 Node.js 就会自动使 npm 可用。
以下是在 Ubuntu 上安装 Node.js 和 npm 的三种主要方法。每种方法都有其自身特性,因此选择最适合您的开发风格和目的的方法很重要。
方法 1:使用官方 Ubuntu 仓库
步骤
Node.js 可在 Ubuntu 的标准仓库中获得。这是最简单且最适合初学者的方法。
sudo apt update
sudo apt install nodejs npm
安装后,您可以使用以下命令检查版本:
node -v
npm -v
优点
- 简单易懂的命令
- Ubuntu 提供的稳定版本
缺点
- Node.js 和 npm 版本通常较旧,因此可能无法获得最新功能
方法 2:使用 NodeSource PPA
通过使用紧密跟随官方 Node.js 支持的 NodeSource 仓库,您可以安装较新版本的 Node.js 和 npm。
步骤(示例:安装 Node.js 18.x)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
npm 与 Node.js 一起自动安装。
优点
- 访问相对较新且稳定的版本
- 安装简单,与 Ubuntu 兼容性好
缺点
- 与其他 PPA 一样,可能需要依赖管理
方法 3:使用 nvm (Node Version Manager)
如果您想在多个 Node.js 版本之间切换,使用 nvm 是最灵活且强大的选项。
步骤
首先,安装 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
然后重新加载您的 shell 并使用 nvm 安装 Node.js:
source ~/.bashrc # or ~/.zshrc
nvm install 18
nvm use 18
npm 与 Node.js 一起自动安装。
优点
- 自由切换 Node.js 版本
- 每个项目设置适当的版本
- 安全,因为它不会全局影响系统
缺点
- 与其他方法相比,设置稍复杂
- 需要编辑 shell 配置文件
您应该选择哪种方法?
| Method | Difficulty | Version Freshness | Flexibility | Recommended For |
|---|---|---|---|---|
| Official Repository | ★☆☆ | △ (Older) | × | Beginners, first-time users |
| NodeSource | ★★☆ | ○ (Relatively new) | △ | General developers |
| nvm | ★★★ | ◎ (Freely selectable) | ◎ | Advanced users, multi-project workflows |
.一般来说,nvm 是在 Ubuntu 上进行长期 npm 开发的最推荐选项。不过,如果你想要快速且简便的设置,使用 NodeSource PPA 也是一个可靠的选择。
3. 基本 npm 用法
一旦在 Ubuntu 上安装了 Node.js 和 npm,你就可以开始使用 npm 管理包。npm 是一个强大的工具,用于安装、更新和移除 JavaScript 包。
本节介绍常用的 npm 命令和基本操作。
安装包
本地安装
仅在特定项目内部使用的包应当 本地 安装。这是标准做法。包会被安装到 node_modules 目录中,并记录在 package.json 中。
npm install package-name
示例:安装 axios
npm install axios
只有同一项目内的脚本才能使用本地安装的包。
全局安装
系统范围内使用的工具(如 CLI 实用程序)应当 全局 安装。
npm install -g package-name
示例:全局安装 http-server
sudo npm install -g http-server
在 Ubuntu 上,使用 -g 可能需要 sudo。
卸载包
删除本地包
npm uninstall package-name
删除全局包
sudo npm uninstall -g package-name
更新包
更新特定包
npm update package-name
更新所有依赖
npm update
更新会在 package.json 中指定的版本范围内进行,因此请注意版本约束。
安装开发依赖(–save-dev)
仅用于开发的包(如测试或构建工具)应使用 --save-dev 选项进行安装。
npm install --save-dev package-name
示例:将 jest 安装为开发依赖
npm install --save-dev jest
这会在 package.json 中的 devDependencies 下记录该包。
列出已安装的包
列出本地包
npm list
列出全局包
npm list -g --depth=0
使用 --depth=0 只显示顶层包,使输出更易阅读。
使用 package.json 管理依赖
package.json 文件是基于 npm 项目的核心组成部分。它记录了包名、版本、脚本以及整体项目配置。
你可以使用以下方式创建它:
npm init
使用默认值的简化设置:
npm init -y

4. 常见问题与解决方案
在 Ubuntu 上使用 npm 时,可能会遇到错误或异常行为。本节介绍常见问题及其解决办法。
权限错误
症状
EACCES: permission denied
原因
当当前用户没有对 npm 尝试安装包的目录的写权限时会出现此情况。在 Ubuntu 上,写入系统目录(如 /usr/lib/node_modules)需要 sudo。
解决方案
- 使用
sudo运行:sudo npm install -g package-name
- 或者将全局安装目录更改为用户拥有的路径:
mkdir ~/.npm-global npm config set prefix '~/.npm-global'
将以下内容添加到 ~/.bashrc 或 ~/.profile:
export PATH="$HOME/.npm-global/bin:$PATH"
应用更改:
source ~/.bashrc
未找到 npm 命令
症状
command not found: npm
原因
- Node.js 或 npm 安装失败
- PATH 环境变量未配置
解决方案
检查路径:
which npm
如果没有返回任何内容,请重新安装或检查 PATH 设置。如果使用 nvm,请确保初始化代码已写入你的 shell 配置文件中:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
包安装失败或版本冲突
症状
- 安装包时出现版本冲突
- 在
npm install期间出现众多警告
解决方案
npm install package-name@latest
npm ls package-name
npm install --legacy-peer-deps
rm -rf node_modules package-lock.json
npm install
有用的调试命令
npm doctornpm doctor
npm auditnpm audit npm audit fix
5. 常见问题解答 (FAQ)
Q1. 如何在 Ubuntu 上将 npm 更新到最新版本?
A1.
sudo npm install -g npm@latest
如果您使用 nvm,则无需 sudo。
Q2. 全局安装和本地安装有什么区别?
A2.
- 本地安装 : 项目特定的依赖项存储在
node_modules中 - 全局安装 : 系统范围的 CLI 工具,通常需要
sudo
Q3. 使用 nvm 的好处是什么?
A3.
nvm 允许您安全高效地在多个 Node.js 版本之间切换,非常适合多项目开发。
Q4. 如果 npm 依赖项损坏了该怎么办?
A4.
rm -rf node_modules package-lock.json
npm install
Q5. npm WARN 和 audit 消息是问题吗?
A5.
警告不是致命的,但表示潜在问题。对于安全相关的警告,您可以尝试:
npm audit fix
Q6. 在 Ubuntu 上用 npm 可以构建什么?
A6.
- 前端框架 (React, Vue, Svelte)
- 静态站点生成器 (Next.js, Nuxt)
- 后端应用 (Express, NestJS)
- CLI 工具
- 测试环境
6. 结论:掌握 Ubuntu 上的 npm
本文涵盖了在 Ubuntu 上安装和使用 npm 的基础知识,从设置到故障排除。
最重要的一步是亲手实验。通过运行命令并理解错误消息,您将稳步加深作为开发者的技能。
这结束了使用 Ubuntu 上 npm 的完整指南。我们希望它能帮助您构建更高效、更强大的开发环境。


