在Linux系统中,npm(Node Package Manager)是Node.js的包管理工具,用于安装、更新、卸载Node.js模块及管理项目依赖,以下是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的核心功能是管理项目依赖,常用命令如下:
安装包
- 本地安装(安装到项目目录,依赖写入
package.json
的dependencies
):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 # 检查并清理损坏的缓存
注意事项
- 避免全局使用sudo:全局安装可能导致权限问题,推荐使用nvm管理Node.js版本,npm默认安装在用户目录下,无需sudo。
- 使用
package-lock.json
:npm会自动生成package-lock.json
,锁定依赖版本,确保团队开发环境一致。 - 修改npm默认目录:若需自定义全局安装目录,可通过以下命令配置:
npm config set prefix '~/.npm-global' # 设置全局安装目录 export PATH=~/.npm-global/bin:$PATH # 将目录添加到PATH环境变量
FAQs
问题1:npm install时报错EACCES: permission denied
怎么办?
解答:该错误通常是由于尝试在全局目录(如/usr/local
)写入文件导致,解决方法有两种:
- 方法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