You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache Superset v1.5.0 docker-compose部署cypress依赖缺失报错

问题根因

这是Apache Superset v1.5.0版本前端构建环节的已知依赖兼容问题,和本地配置修改无关,触发原因共两点:

  • v1.5.0版本的前端依赖锁文件未锁定check-more-types、core-js这类传递依赖的版本,包管理工具安装时会拉取存在兼容性问题的版本,导致cypress安装脚本找不到对应模块文件
  • 官方v1.5.0的docker-compose构建流程默认全量安装包含cypress在内的所有前端依赖(含开发依赖),cypress本身是前端E2E测试工具,生产部署阶段完全不需要安装,既拉长构建时间,也额外引入了依赖冲突风险
可行解决方案

方案一:直接使用官方预构建镜像(优先选择,操作成本最低)

无需本地构建node镜像,直接拉取官方构建完成的v1.5.0正式版本镜像,跳过本地前端构建步骤:

# 清理之前构建失败产生的残留容器、镜像和缓存
docker-compose down -v --rmi local
# 拉取预构建镜像并启动
TAG=1.5.0 docker-compose -f docker-compose.yml pull
TAG=1.5.0 docker-compose -f docker-compose.yml up -d

方案二:调整构建参数跳过cypress安装

如果需要本地自定义构建镜像,执行启动命令前修改构建配置,跳过cypress安装流程:

  1. 打开本地docker-compose.yml文件,找到x-superset-build配置段下的args配置项,新增参数:
    args:
      CYPRESS_INSTALL_BINARY: "0"
    
  2. 清理旧构建缓存后重新构建启动:
    docker builder prune -f
    TAG=1.5.0 docker-compose -f docker-compose.yml build --no-cache superset-node
    TAG=1.5.0 docker-compose -f docker-compose.yml up -d
    

方案三:锁定依赖版本修复冲突

如果需要保留前端测试能力、不跳过cypress安装,在源码的superset-frontend目录下做如下调整锁定依赖版本:

  1. 在package.json的resolutions字段新增配置:
    "resolutions": {
      "check-more-types": "2.24.0",
      "core-js": "3.22.0"
    }
    
  2. 重新生成依赖锁文件后,再执行docker-compose构建命令即可。

注意:重新构建前必须清理之前的前端依赖构建缓存,否则残留的损坏依赖文件会导致相同报错重复出现。

内容的提问来源于stack exchange,提问作者uberroot4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 08:48:33