Cesium 1.120 升级踩坑记:@zip.js/zip.js 版本冲突问题解决

Cesium 1.120 升级踩坑记:@zip.js/zip.js 版本冲突问题解决

问题描述

近期我们将项目中的 Cesium 从旧版本升级至 Cesium 1.120,但在启动开发服务器时,控制台抛出如下错误:

Could not resolve './lib/zip-no-worker.js' from @zip.js/zip.js

经过排查,问题根源在于 Cesium 1.120 引入了对 @zip.js/zip.js 的依赖,用于处理 KML 文件中的 ZIP 压缩资源。然而,该版本并未锁定 @zip.js/zip.js 的具体版本,导致安装时可能拉取到不兼容的高版本(如 v2.8.x),从而引发模块解析失败。
cesium升级到1.120版本,代码跑不起来,@zip.js/zip.js报错,
cesium 1.120版本依赖@zip.js,安装cesium后依赖中会自动安装zip.js依赖,但是由于安装的zip.js版本不对导致报错,可以手动安装正确的版本2.7.34,并且在package.json中添加一直统一zip.js版本

部分情况下,@cesium/engine 会自带 node_modules,建议在构建前手动删除

解决方案:强制统一依赖版本

使用 resolutions 锁定版本

  1. 修改 package.json
{
	"dependencies": {
		"cesium": "^1.120.0",
	    "@zip.js/zip.js": "2.7.34"
	},
	"resolutions": {
	  	"@zip.js/zip.js": "2.7.34"
	}
}

注意:resolutions 是 Yarn 的特性,如果你使用的是 npm,请确保版本 ≥ 8.3 并使用 overrides:

  1. 清理并重新安装依赖
# 删除 node_modules 和 lock 文件
rm -rf node_modules package-lock.json yarn.lock

# 重新安装
yarn install
# 或 npm install
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值