npm install 卡在 sill idealTree 是很多开发者都遇到过的问题,本文总结了最常见的几种原因和对应解决方法,照着做基本都能解决。
问题现象
执行 npm install 之后终端一直没有响应,加上 --verbose 参数查看详细日志:
npm install --verbose
发现卡在这里不动了:
npm timing idealTree:userRequests Completed in 0ms
或者卡在:
npm sill idealTree buildDeps
npm sill fetch manifest xxx
这类问题 90% 是网络问题导致的,剩下 10% 是缓存损坏。下面按优先级逐一排查。
解决方案
方案一:切换国内镜像源(最有效)
默认 npm 源在国外,国内访问极慢甚至超时,切换到淘宝镜像源是最直接的解决办法:
npm config set registry https://registry.npmmirror.com
验证是否设置成功:
npm config get registry
# 输出 https://registry.npmmirror.com 即为成功
再次执行安装:
npm install
方案二:清除缓存
缓存损坏也会导致卡住,先验证并清理:
# 验证缓存
npm cache verify
# 强制清除缓存
npm cache clean --force
清完之后重新安装:
npm install
方案三:删除 node_modules 重装
如果 node_modules 目录本身有问题:
# 删除 node_modules 和 lock 文件
rm -rf node_modules
rm -f package-lock.json
# 重新安装
npm install
方案四:检查代理设置
如果你开了代理软件(VPN、Clash 等),npm 可能走了代理但代理不稳定:
# 查看当前代理设置
npm config get proxy
npm config get https-proxy
# 如果有值,删掉它
npm config delete proxy
npm config delete https-proxy
方案五:换用 yarn 或 pnpm
实在装不上就换个包管理器:
# 用 yarn
npm install -g yarn
yarn install
# 或用 pnpm(速度最快)
npm install -g pnpm
pnpm install
总结
| 原因 | 解决方法 |
|---|---|
| npm 源在国外访问慢 | 切换淘宝镜像源 |
| 本地缓存损坏 | npm cache clean --force |
| node_modules 有残留 | 删除重装 |
| 代理软件干扰 | 清除 npm 代理配置 |
| npm 本身有 bug | 换 yarn 或 pnpm |
遇到 npm install 卡住,按上面顺序逐一试,基本都能解决。
本文同步发布于个人博客,持续更新 Java / 后端 / Docker 实战内容: