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

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

问题描述

在执行以下命令时:

bash 复制代码
mkdir test-npm
cd test-npm
npm init -y
npm install lodash --verbose

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

复制代码
(⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂) ⠙ idealTree:test-npm: sill idealTree buildDeps

常见原因及解决方案

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

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

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

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

华为云镜像源(推荐)

bash 复制代码
npm config set registry https://mirrors.huaweicloud.com/repository/npm/

阿里云镜像源

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

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

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

总结

当遇到 npm install 卡住的情况时,建议首先尝试切换到国内镜像源,特别是华为云镜像源,这通常能解决大部分问题。如果问题仍然存在,可以按照上述步骤逐一排查其他可能的原因。

记住:使用国内镜像源时,一定要确保使用的是最新的地址,特别是阿里云镜像源,避免使用已经停止服务的旧地址。

相关推荐
泯泷6 小时前
手搓JSVMM第 8 篇:函数调用:参数、返回值与调用帧
前端·javascript·前端框架
Sherotree6 小时前
Google Antigravity——Agent 被提到主界面
前端·ide·后端·edge浏览器
里欧跑得慢7 小时前
Flutter 像素级还原:设计稿到代码的视觉无损转换技巧
前端·css·flutter·web
里欧跑得慢7 小时前
Flutter 三方库 function_tree — 鸿蒙应用开发中的动态数学公式解析与计算神器,实现鸿蒙深度适配下的复杂函数逻辑运行时求值实战(适配鸿蒙 HarmonyOS Next ohos)
android·前端·安全·flutter·华为·harmonyos
苏灿烤鱼7 小时前
没有机密文件,也没有付费数据,在浏览器里造一颗"间谍卫星"
前端·javascript·github
泯泷8 小时前
手搓JSVM第 5 篇:写第一个编译器:从 AST 生成 IR
前端·javascript·算法
泯泷8 小时前
手搓JSVM第 7 篇:控制流:if、while 与 jump
前端·javascript·算法
泯泷8 小时前
手搓JSVM第 6 篇:把 IR 编成字节码:emit 与 label fixup
前端·javascript·算法
泯泷8 小时前
手搓JSVM第 3 篇:从栈式 VM 到寄存器式 VM:为什么我们选择寄存器
前端·javascript·算法
泯泷8 小时前
第 4 篇:让 VM 支持变量:Slot、Environment 与 TDZ
前端·javascript·算法