Bootstrap

解决国内服务器 npm install 卡住的问题

在使用国内云服务器时,经常会遇到 npm install 命令执行卡住的情况。本文将分享一个典型案例以及常见的解决方案。

问题描述

在执行以下命令时:

mkdir test-npm
cd test-npm
npm init -y
npm install lodash --verbose

安装过程会卡在这个状态:

(⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂) ⠙ idealTree:test-npm: sill idealTree buildDeps

常见原因及解决方案

  1. 网络连接问题
    这是最常见的原因之一。可以通过以下步骤诊断和解决:
# 测试网络连接
ping registry.npmjs.org

# 切换为国内镜像源
npm config set registry https://mirrors.huaweicloud.com/repository/npm/
  1. npm 缓存问题
    缓存可能会导致安装卡住,可以尝试清除缓存:
npm cache clean --force
  1. package-lock.json 冲突
    有时候 package-lock.json 文件可能会导致冲突:
# 删除相关文件后重新安装
rm -rf package-lock.json node_modules
npm install
  1. Node.js 版本兼容性问题
    检查 Node.js 版本是否合适:
node -v
  1. 磁盘空间不足
    确保有足够的磁盘空间:
df -h

解决方案:切换国内镜像源

在我的案例中,问题的根源是网络连接问题。通过切换到国内镜像源成功解决了这个问题。以下是推荐的国内镜像源:

华为云镜像源(推荐)

npm config set registry https://mirrors.huaweicloud.com/repository/npm/

阿里云镜像源
需要特别注意,阿里云的旧版本源已经停止服务,请使用新版本源:

# ⚠️ 旧版本源(已于 2022.06.30 停止服务)
# npm config set registry https://registry.npm.taobao.org/

# ✅ 新版本源
npm config set registry https://registry.npmmirror.com

总结

当遇到 npm install 卡住的情况时,建议首先尝试切换到国内镜像源,特别是华为云镜像源,这通常能解决大部分问题。如果问题仍然存在,可以按照上述步骤逐一排查其他可能的原因。
记住:使用国内镜像源时,一定要确保使用的是最新的地址,特别是阿里云镜像源,避免使用已经停止服务的旧地址。

;