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

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

相关推荐
爱上大树的小猪3 分钟前
【前端实战】Flex布局实战:打造经典自适应导航栏(附移动端折叠方案)
前端·javascript·flexbox
Anlici14 分钟前
深入浅出Vue响应式原理:手把手解析Proxy与依赖追踪
前端·vue.js·面试
mon_star°16 分钟前
css实现报警特效
前端·css
AKA大佬17 分钟前
@aspnet/signalr服务器与客户端之间实时的双向通信
前端·angular.js
ak啊17 分钟前
AST 解析器 Parser
前端·webpack·源码阅读
北京_宏哥17 分钟前
🔥《手把手教你》系列练习篇之8-python+ selenium自动化测试(详细教程)
前端·python·selenium
刘同学有点忙18 分钟前
浏览器内置响应式编程?用 TC39 Signals 提案实现 TodoList
前端·响应式编程
destinying18 分钟前
原生JavaScript实现页面滚动监听:从入门到精通
前端·javascript·vue.js
北京_宏哥19 分钟前
🔥《手把手教你》系列练习篇之7-python+ selenium自动化测试(详细教程)
前端·python·selenium
稻城亚丁有沉香20 分钟前
Native 与 Flutter 混合开发中的 Flutter 多引擎与单引擎分析
前端