Linux下npm怎么用?新手入门详细操作指南

在Linux系统中,npm(Node Package Manager)是Node.js的包管理工具,用于安装、更新、卸载Node.js模块及管理项目依赖,以下是Linux下使用npm的详细步骤和操作指南。

linux下如何使用npm

安装Node.js和npm

npm随Node.js一起安装,因此需先安装Node.js,不同Linux发行版的安装方式略有不同:

使用系统包管理器安装(适用于快速安装,但版本可能较旧)

  • Ubuntu/Debian系统
    更新包列表后安装Node.js和npm:

    sudo apt update
    sudo apt install nodejs npm
  • CentOS/RHEL系统
    使用yum或dnf安装(CentOS 7及以下需先安装EPEL仓库):

    sudo yum install nodejs npm  # CentOS 7及以下
    sudo dnf install nodejs npm  # CentOS 8及以上

使用nvm(Node Version Manager)安装(推荐,可管理多版本Node.js)

nvm允许安装和切换Node.js多个版本,避免权限问题:

  • 安装nvm:
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
  • 加载nvm:
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
    [ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"
  • 安装最新LTS版本的Node.js(包含npm):
    nvm install --lts

验证安装

安装完成后,检查版本号确认是否成功:

node -v  # 显示Node.js版本,如v18.17.0
npm -v   # 显示npm版本,如9.6.7
安装方式 优点 缺点 适用场景
系统包管理器 简单快速,依赖系统包管理 版本可能较旧,权限问题 快速体验或旧版需求
nvm 可管理多版本,避免权限问题 需手动配置环境变量 开发环境,多版本需求

npm基本使用命令

npm的核心功能是管理项目依赖,常用命令如下:

linux下如何使用npm

安装包

  • 本地安装(安装到项目目录,依赖写入package.jsondependencies
    npm install <package-name>  # 简写:npm i <package-name>
    npm install                 # 安装package.json中所有依赖
  • 全局安装(安装到系统目录,需sudo,通常用于CLI工具)
    sudo npm install -g <package-name>  # 简写:sudo npm i -g <package-name>
  • 开发依赖(安装到devDependencies,仅在开发环境使用)
    npm install -D <package-name>  # 简写:npm i -D <package-name>

卸载包

  • 卸载本地包
    npm uninstall <package-name>
  • 卸载全局包
    sudo npm uninstall -g <package-name>

更新包

  • 更新本地包到最新版本
    npm update <package-name>
  • 更新全局包
    sudo npm update -g <package-name>
  • 更新所有包
    npm update

查看已安装包

  • 查看本地安装的包及依赖树
    npm list
    npm list --depth=0  # 只显示直接依赖
  • 查看全局安装的包
    npm list -g
命令 简写 说明
npm install npm i 安装package.json中所有依赖
npm install

npm i 本地安装指定包
npm install -g

npm i -g 全局安装指定包
npm uninstall

npm un 卸载本地包
npm update

npm up 更新本地包
npm list npm ls 查看本地依赖树

npm配置与管理

设置镜像源(国内用户推荐)

默认npm源访问较慢,可切换为国内镜像(如淘宝npm):

npm config set registry https://registry.npmmirror.com  # 设置镜像源
npm config get registry  # 验证镜像源是否生效

配置用户信息

发布包到npm仓库时需配置用户名和邮箱:

npm config set username <your-username>
npm config set email <your-email>

缓存管理

npm会缓存已下载的包,可通过以下命令管理缓存:

npm cache clean --force  # 清空缓存(慎用,可能导致重复下载)
npm cache verify         # 检查并清理损坏的缓存

注意事项

  1. 避免全局使用sudo:全局安装可能导致权限问题,推荐使用nvm管理Node.js版本,npm默认安装在用户目录下,无需sudo。
  2. 使用package-lock.json:npm会自动生成package-lock.json,锁定依赖版本,确保团队开发环境一致。
  3. 修改npm默认目录:若需自定义全局安装目录,可通过以下命令配置:
    npm config set prefix '~/.npm-global'  # 设置全局安装目录
    export PATH=~/.npm-global/bin:$PATH    # 将目录添加到PATH环境变量

FAQs

问题1:npm install时报错EACCES: permission denied怎么办?
解答:该错误通常是由于尝试在全局目录(如/usr/local)写入文件导致,解决方法有两种:

linux下如何使用npm

  • 方法1(推荐):使用nvm管理Node.js版本,npm会安装在用户目录(如~/.nvm/versions/node/v18.17.0),无需sudo即可全局安装。
  • 方法2:配置npm全局安装目录到用户目录(如~/.npm-global),并添加到PATH环境变量(参考“注意事项”第3点)。

问题2:如何查看npm包的详细信息(如版本、依赖、作者等)?
解答:使用npm view命令可查看包的详细信息,常用参数如下:

  • 查看最新版本:npm view <package-name> version
  • 查看所有可用版本:npm view <package-name> versions
  • 查看依赖信息:npm view <package-name> dependencies
  • 查看作者信息:npm view <package-name> author
    查看Express框架的最新版本:npm view express version

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/34932.html

(0)
酷番叔酷番叔
上一篇 2025年10月3日 08:08
下一篇 2025年10月3日 08:21

相关推荐

  • 如何查看Linux系统中运行的进程信息?

    在Linux系统中,进程是程序执行的基本单位,查看进程信息是系统管理和故障排查的核心操作,Linux提供了多种命令工具,帮助用户从不同维度获取进程详情,以下将详细介绍常用查看进程的方法及其实际应用,基础进程查看命令:psps(Process Status)是最常用的静态进程查看命令,用于快速获取当前进程的快照信……

    2025年9月24日
    4100
  • 如何安全使用root权限?

    临时获取root权限(推荐)使用 sudo 命令原理:临时以root身份执行单条命令,普通用户需被授权(在/etc/sudoers中配置),操作: sudo <命令> # sudo apt update输入当前用户密码验证身份,优点:操作可审计(记录在/var/log/auth.log),安全性高……

    2025年6月14日
    7400
  • Linux插入移动硬盘后系统无法识别?有哪些排查解决方法?

    在Linux系统中,移动硬盘的识别是一个涉及内核检测、设备管理、文件系统挂载的完整流程,当用户将移动硬盘通过USB接口插入Linux主机后,系统会自动执行一系列操作,确保设备可用,以下是详细的识别过程及操作指南,物理插入与系统初步检测将移动硬盘插入USB接口后,Linux内核首先通过USB子系统(如usb-st……

    2025年8月23日
    5500
  • Linux如何清理cache缓存?内存释放操作方法详解?

    在Linux系统中,缓存(Cache)是内核为了提升系统性能而设计的内存管理机制,主要分为Page Cache(页面缓存,用于缓存文件数据)、dentry cache(目录项缓存,用于缓存文件名到inode的映射)和inode cache(索引节点缓存,用于存储文件元数据),这些缓存能有效减少磁盘I/O操作,提……

    2025年9月16日
    21800
  • Linux C程序如何添加断点进行调试?

    在Linux环境下使用C语言开发时,调试是不可或缺的环节,而断点调试是最核心的调试手段之一,断点允许开发者在程序执行到特定位置时暂停,从而检查变量状态、调用栈和程序逻辑,快速定位问题,本文将详细介绍在Linux C中如何使用GDB(GNU Debugger)设置和管理断点,涵盖基础操作、进阶技巧及常见场景,GD……

    2025年10月4日
    3000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信