yarn install有时无法下载包中的dist文件夹 - Mon, May 11, 2020
yarn install有时无法下载包中的dist文件夹
yarn install有时无法下载包中的dist文件夹
提示: Vue 3已成为默认版本,本文档可能基于Vue 2编写。
问题描述
执行yarn install时,某些包的dist文件夹无法正确下载,导致项目无法正常运行。
github issue: https://github.com/yarnpkg/yarn/issues/3169
解决方法
方法1:清理缓存(推荐)
# 清理特定包的缓存
yarn cache clean <package-name>
# 清理所有缓存
yarn cache clean
# 重新安装
yarn install
方法2:删除node_modules重新安装
# 删除node_modules和yarn.lock
rm -rf node_modules yarn.lock
# 清理缓存
yarn cache clean
# 重新安装
yarn install
方法3:使用npm安装
# 使用npm代替yarn
npm install
# 或混合使用
yarn install --npm
方法4:修改yarn配置
# 设置yarn使用npm注册表
yarn config set registry https://registry.npmjs.org/
# 或使用国内镜像
yarn config set registry https://registry.npmmirror.com/
方法5:强制重新下载
# 强制重新下载所有包
yarn install --force
# 或
yarn install --no-cache
常见场景
场景1:dist文件夹缺失
# 检查包内容
ls node_modules/package-name/
# 如果dist文件夹缺失,尝试
yarn cache clean package-name
yarn install
场景2:包版本不一致
# 查看包版本
yarn list --pattern package-name
# 指定版本安装
yarn add package-name@version
场景3:网络问题
# 增加超时时间
yarn install --network-timeout 100000
# 使用离线镜像
yarn install --offline
预防措施
1. 锁定版本
// package.json
{
"dependencies": {
"package-name": "1.2.3" // 精确版本
}
}
2. 使用yarn.lock
确保yarn.lock文件被提交到版本控制。
3. 配置镜像源
# 使用稳定镜像源
yarn config set registry https://registry.npmmirror.com/
4. 启用离线镜像
# 配置离线镜像
yarn config set yarn-offline-mirror ./npm-packages-offline-cache
yarn config set yarn-offline-mirror-pruning true
故障排查
# 查看yarn配置
yarn config list
# 查看缓存路径
yarn cache dir
# 查看全局安装路径
yarn global dir
# 详细日志
yarn install --verbose
最佳实践
- 定期清理缓存:避免缓存损坏
- 锁定依赖版本:使用yarn.lock
- 使用镜像源:提高下载成功率
- 检查网络:确保网络连接稳定
- 备用方案:必要时使用npm