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系统下如何连接WiFi网络?

    在Linux系统中连接WiFi根据使用场景和发行版的不同,有多种方式,包括图形界面操作、命令行工具(如nmcli)以及手动配置文件编辑等,下面将详细介绍这些方法,帮助不同用户选择适合自己的连接方式,图形界面连接(适合桌面用户)大多数Linux发行版(如Ubuntu、Mint、Fedora等)默认提供图形化网络管……

    2025年9月8日
    9200
  • linux 如何绑定核

    Linux 中,可使用 taskset 命令或修改进程启动参数来绑定核,

    2025年8月10日
    11100
  • Linux如何卸载iSCSI设备及配置?

    在Linux系统中,iSCSI(Internet Small Computer System Interface)是一种基于TCP/IP的存储网络协议,允许用户通过网络将远程存储设备映射为本地块设备,当需要更换存储方案、排查故障或进行系统维护时,卸载iSCSI连接是必要的操作,本文将详细讲解Linux系统中卸载……

    2025年9月10日
    8500
  • 为什么小型项目更适合手动编译?

    在Linux环境下编译C语言工程项目是开发者必备的核心技能,下面将系统介绍从基础到进阶的编译方法,涵盖实际开发中的主流工具链和最佳实践,确保内容的专业性、准确性和实用性,基础编译流程(单文件场景)安装GCC编译器sudo apt update && sudo apt install gcc……

    2025年7月25日
    10200
  • linux如何查看jdk已经卸载

    Linux中,可通过java -version查看JDK是否已卸载,若无输出则可能

    2025年8月14日
    9200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信