游乐游手机版
首页/编程语言/文章详情

Ubuntu上Node.js模块管理指南

时间:2026-07-19 20:37
Ubuntu上Node js模块管理主要使用npm、yarn和pnpm三种工具。npm为官方默认,yarn以速度与一致性著称,pnpm通过硬链接节省磁盘空间。需先安装Node js,推荐使用nvm管理多版本。常用命令包括初始化、安装、更新、卸载模块,通过package json和锁定文件确保依赖一致性。

Ubuntu系统中Node.js模块管理的核心工具与操作指南

Ubuntu上Nodejs模块如何管理

在Ubuntu环境下进行Node.js开发,模块管理是必备技能。目前主流工具包括npm(官方默认)、yarn(以速度和一致性著称)和pnpm(磁盘空间节省专家),各具特色。下面将详细拆解这些工具的使用流程与关键要点,帮助您高效管理Node.js模块。

一、前置准备:安装Node.js与包管理工具

管理模块前,需先安装Node.js及对应的包管理工具。常见的安装方式有三种,可根据需求选择:

1. 安装Node.js与npm(官方仓库)

通过Ubuntu默认仓库安装,版本可能偏旧,但稳定性有保障:

sudo apt update
sudo apt install nodejs npm

安装完成后,使用node -vnpm -v命令检查版本信息。

2. 通过NodeSource安装指定版本(推荐)

如需特定版本(例如LTS),NodeSource提供的脚本非常便捷:

# 以Node.js 18.x为例(可替换为16.x、20.x等)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

此方式会自动安装对应版本的npm。

3. 使用nvm管理多版本Node.js(灵活)

若需要在多个Node.js版本间切换,nvm是最佳选择:

# 安装nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
# 安装指定版本(如18.17.1)
nvm install 18.17.1
# 设置默认版本
nvm alias default 18.17.1

通过nvm use 即可快速切换版本,灵活应对不同项目需求。

二、使用npm管理模块

npm是Node.js自带的包管理工具,日常的安装、更新、卸载操作均可通过它完成。

1. 初始化项目

创建package.json文件,用于记录项目依赖与元数据:

npm init

根据提示填写项目名称、版本等信息,或使用npm init -y一步生成默认配置。

2. 安装模块

  • 本地安装(项目依赖):模块会安装到项目根目录的node_modules,并自动写入package.jsondependencies(生产依赖)或devDependencies(开发依赖):
    # 生产依赖(如express)
    npm install express --sa ve
    # 开发依赖(如eslint)
    npm install eslint --sa ve-dev
  • 全局安装(命令行工具):安装到系统全局目录,通常需要sudo权限,适用于nodemon等工具:
    sudo npm install -g nodemon

3. 更新模块

  • 更新指定模块:检查远程仓库,更新至最新兼容版本:
    npm update 
  • 更新所有本地模块:
    npm update

4. 卸载模块

  • 本地卸载:删除模块并从package.json中移除对应依赖:
    npm uninstall 
  • 全局卸载:
    sudo npm uninstall -g 

5. 查看模块信息

  • 查看已安装模块:
    npm list
  • 查看全局模块:
    npm list -g --depth=0
  • 搜索模块:在npm仓库中按关键词检索:
    npm search 

6. 保存依赖到package.json

安装时带上--sa ve(生产依赖)或--sa ve-dev(开发依赖),模块信息会自动写入package.json,确保项目依赖可复现。

三、使用yarn管理模块

yarn由Facebook开发,早期解决了npm的性能短板,其核心亮点是锁定文件(yarn.lock),能保证依赖版本的一致性。

1. 安装yarn

通过npm全局安装:

npm install --global yarn

2. 常用命令

  • 初始化项目:生成package.jsonyarn.lock
    yarn init
  • 安装模块:自动添加到dependencies
    yarn add 
  • 添加开发依赖:
    yarn add  --dev
  • 更新模块:
    yarn upgrade 
  • 卸载模块:
    yarn remove 
  • 查看模块:
    yarn list

yarn的优势在于并行安装(速度更快)、yarn.lock锁定版本(避免“幻影依赖”),以及缓存机制减少重复下载。

四、使用pnpm管理模块

pnpm是后起之秀,通过硬链接和全局缓存节省磁盘空间,特别适合大型项目。

1. 安装pnpm

同样通过npm全局安装:

npm install --global pnpm

2. 常用命令

  • 初始化项目:
    pnpm init
  • 安装模块:自动添加到dependencies
    pnpm add 
  • 添加开发依赖:
    pnpm add  --sa ve-dev
  • 更新模块:
    pnpm update
  • 卸载模块:
    pnpm remove 
  • 查看模块:
    pnpm list

pnpm的核心优势在于磁盘空间节省——多个项目可共享同一个模块的硬链接,安装速度也快(并行处理依赖)。

五、注意事项

  1. 权限问题:本地安装无需sudo,全局安装则需要。推荐使用nvm来避免权限相关麻烦。
  2. 依赖一致性:始终通过package.json和锁定文件(package-lock.jsonyarn.lockpnpm-lock.yaml)管理依赖,防止版本冲突。
  3. 版本选择:优先使用LTS版本的Node.js,稳定压倒一切。
  4. 工具选择:根据项目需求——追求速度选yarn,想节省磁盘空间选pnpm,求稳则用npm。

按照以上步骤,在Ubuntu上管理Node.js模块将变得高效且清晰,项目依赖的可维护性和一致性也能得到充分保障。

来源:https://www.yisu.com/ask/8210017.html
上一篇Yum命令设置软件包优先级详细教程 下一篇Linux系统下PHP配置详细完整步骤与实用技巧详解
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
ThinkPHP框架搭建从安装到运行完整教程
编程语言 · 2026-07-21

ThinkPHP框架搭建从安装到运行完整教程

使用ThinkPHP搭建开发框架需完成环境准备、项目初始化、配置调整与启动验证四步。环境要求PHP7 1以上及关键扩展,通过Composer创建项目,配置数据库与调试模式,最后运行内置服务器验证。生产环境应改用Nginx或Apache。

Redisson自定义注解与Spring Boot Starter自动配置方法
编程语言 · 2026-07-21

Redisson自定义注解与Spring Boot Starter自动配置方法

先说结论,整个流程的核心就三件事:用注解声明锁的行为,用切面拦截来执行加解锁,用Starter自动把客户端和切面Bean都注册好。无需手动注册,无需额外配置,统一由Starter自动化完成,大幅简化Redisson分布式锁在Spring Boot中的集成。Redisson 自定义注解与 Spring

ThinkPHP5.1结合Swoole实现毫秒级定时任务调度
编程语言 · 2026-07-21

ThinkPHP5.1结合Swoole实现毫秒级定时任务调度

在ThinkPHP5 1项目中,使用Swoole实现毫秒级定时任务调度,需在onWorkerStart回调中启动异步定时器,且仅由worker_id=0的Worker执行。前置条件包括swoole扩展4 8 0以上、协程模式优先用CoroutineTimer。通过自定义Artisan命令统一管理,适用于亚秒级响应、动态启停的深度业务场景。

ThinkPHP跨服务器迁移部署操作步骤
编程语言 · 2026-07-21

ThinkPHP跨服务器迁移部署操作步骤

ThinkPHP跨服务器迁移需确保环境一致性:数据库导出加--no-definer并避免触发器干扰;PHP版本及扩展(openssl、mbstring等)严格对齐;Web服务器root指向public目录,配置伪静态规则;runtime目录清空并确保可写, env文件设置权限与访问控制。

TP6.0电子合同实现 PDF生成与水印签名技术栈
编程语言 · 2026-07-21

TP6.0电子合同实现 PDF生成与水印签名技术栈

TP6 0仅作为Web框架,电子合同需依赖外部工具链。生成PDF可选用tcpdf或dompdf,前者适合结构化合同,后者适合HTML转PDF。水印需在每页底层绘制矢量文字并锁定图层,防止被移除。签名需结合CA认证和数字签名,仅插入图片不具有法律效力。