温馨提示×

ubuntu nodejs与npm的区别

小樊
46
2025-11-30 09:12:41
栏目: 编程语言

Node.js 与 npm 的核心区别与关系

  • Node.js 是基于 Chrome V8JavaScript 运行时环境,用于在非浏览器环境执行 JS,提供 事件循环、非阻塞 I/O、文件系统、网络 等能力,可用来开发后端服务、命令行工具等。
  • npm(Node Package Manager)Node.js 的默认包管理器,用于安装、更新、卸载和管理项目依赖,随 Node.js 一起安装;npm 生态拥有海量的开源包,是 Node 开发的基础设施工具。
  • 关系上:Node.js 是“运行时”,npm 是“包管理工具”;两者通常捆绑出现,但职责不同、不可相互替代。

在 Ubuntu 中的安装与版本管理

  • 使用 Ubuntu 官方仓库:一条命令即可安装,但版本通常较旧(如 Ubuntu 20.04 仓库中的 Node.js 10.19.0)。
    命令示例:sudo apt update && sudo apt install nodejs npm;验证:nodejs -v、npm -v。
  • 使用 NodeSource 仓库:可安装指定版本(如 14.x/16.x/18.x/20.x 等),适合需要较新或特定版本的场景。
    命令示例:curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - && sudo apt-get install -y nodejs
  • 使用 nvm(Node Version Manager):在同一台机器上管理多个 Node.js 版本,并为每个项目切换版本,最灵活。
    常用命令:nvm install –lts / nvm install 18;nvm use 18;nvm alias default 18;nvm ls;nvm current。

常见命令对比与典型用法

维度 Node.js npm
作用 执行 JavaScript 代码(服务端/CLI) 管理 依赖包(安装、更新、卸载、版本锁定)
是否可单独安装 是(安装 Node 即可获得运行时) 否(通常随 Node.js 一起安装)
常用命令 node app.js、node -v npm init、npm install、npm install -g 包名、npm update、npm uninstall、npm -v
典型产出 运行服务、脚本、命令行工具 node_modules/ 与 package.json/package-lock.json 依赖描述与锁文件
说明:全局安装(-g)的包用于命令行工具,项目本地安装用于应用代码依赖。

易混淆点与排查建议

  • Ubuntu 中,APT 包名是 nodejs(不是“node”),因此验证用 nodejs -v;若命令未找到,检查是否已安装或 PATH 是否包含 /usr/bin/nodejs
  • 同时存在多个 Node 版本时(如使用 nvm),确认当前版本:nvm current;必要时切换:nvm use 版本号,并设置默认:nvm alias default 版本号
  • 升级 npm:npm install -g npm@latest;若权限报错,优先使用 nvm 或配置 npm 全局目录到用户目录,避免用 sudo 全局安装。

0