1. 问题现象与背景分析
最近在接手一个前端项目时,遇到了一个让人抓狂的问题:执行yarn install安装依赖时,控制台卡在"Building fresh packages..."阶段,进度条一直显示"wait",等待十几分钟都没有任何进展。这种情况在前端开发中并不罕见,尤其是当项目依赖关系复杂或网络环境不稳定时。
经过多次尝试和排查,我发现这个问题通常由以下几个因素导致:
- 网络连接问题(特别是使用公司内网或代理时)
- 依赖包版本冲突
- 本地缓存损坏
- 系统权限不足
- 特定包的构建脚本存在问题
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 基础排查步骤
2.1 检查网络连接
首先确认你的网络连接正常,特别是如果你在公司内网或使用了网络代理:
bash复制# 测试网络连通性
ping registry.yarnpkg.com
# 如果使用代理,检查代理设置
echo $HTTP_PROXY
echo $HTTPS_PROXY
注意:如果公司网络有特殊限制,可能需要联系IT部门确认是否允许访问Yarn的包仓库。
2.2 清理缓存并重试
Yarn的缓存有时会出现问题,清理缓存是解决问题的第一步:
bash复制yarn cache clean
rm -rf node_modules
yarn install --verbose # 使用verbose模式查看详细日志
2.3 检查.yarnrc配置
项目根目录下的.yarnrc文件可能包含特殊配置:
bash复制cat .yarnrc
重点关注以下配置项:
network-timeoutproxyhttps-proxyregistry
3. 进阶解决方案
3.1 使用--network-timeout参数
Yarn默认的网络超时时间可能不够,特别是在网络状况不佳时:
bash复制yarn install --network-timeout 1000000
这个命令将超时时间设置为1000秒(约16分钟),给足Yarn下载和构建的时间。
3.2 跳过optionalDependencies
有些包的optionalDependencies可能导致安装卡住,
