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

Docker部署EvalAI-ngx失败:两类报错排查求助

解决EvalAI Docker仓库启动的两类错误

最近你碰到的这两个问题,我在处理Angular + Docker项目时也遇到过,咱们一步步拆解解决:

一、处理 TypeError: eval() arg 1 must be a string, bytes or code object 错误

这个错误本质是eval()函数接收到了非字符串/字节/代码对象的参数,大概率是项目里的动态配置或环境变量传递出了问题:

  • 检查环境变量传递:
    用docker exec <前端容器名称> env命令查看容器内的环境变量,确认所有需要的变量(比如API地址、环境标识等)都正确设置。如果某个关键变量未定义或值为None,就会导致eval调用失败。可以在docker-compose.yml里明确指定这些变量,确保传递无误。

  • 清理Docker缓存:
    旧缓存经常会残留过时的依赖或配置,执行以下命令彻底清理:

    docker system prune -a
    

    之后重新执行docker-compose up --build,让容器完全重新构建。

  • 定位eval调用的代码位置:
    在项目代码里全局搜索eval(,找到调用它的地方,检查传入的参数是不是从某个动态来源(比如环境变量、配置文件)获取的。如果是,确保这些来源返回的是字符串类型,必要时添加类型转换(比如str(variable))。

二、解决 Data path ".builders['app-shell']" should have required property 'class' 错误

这个是Angular CLI的配置兼容性问题,app-shell构建器的配置格式在不同Angular版本里有变化:

  • 检查angular.json的配置:
    打开项目的angular.json,找到app-shell的构建器配置,确保它符合当前Angular版本的要求。正确的配置示例如下(以Angular 12+为例):

    "app-shell": {
      "builder": "@angular-devkit/build-angular:app-shell",
      "options": {
        "browserTarget": "evalai:build",
        "serverTarget": "evalai:server",
        "route": "shell"
      },
      "configurations": {
        "production": {
          "browserTarget": "evalai:build:production",
          "serverTarget": "evalai:server:production"
        }
      }
    }
    

    如果你的配置里缺少builder指定的正确路径,或者关键属性缺失,就会触发这个错误。

  • 同步Angular依赖与配置:
    不要手动修改package.json里的Angular版本号,而是用Angular CLI的升级命令自动同步配置:
    如果能在容器内执行命令,进入容器后运行:

    ng update @angular/cli @angular/core
    

    或者在本地项目目录执行该命令,更新后再重新构建Docker镜像。

  • 检查Docker构建流程:
    确认docker-compose.yml里的前端构建步骤是正确的:先执行npm install安装所有依赖,再执行ng build构建项目。如果构建命令跳过了依赖安装,或者使用了过时的构建参数,也会导致配置不兼容。

通用排查技巧

  • 查看完整容器日志:
    用docker logs -f <前端容器ID/名称>实时查看日志,找到错误发生的具体调用栈,这样能更快定位到代码或配置的问题点。

  • 本地验证项目:
    在非Docker环境下启动项目(先执行npm install,再ng serve),如果本地也出现相同错误,说明问题在项目本身;如果本地正常,那就是Docker构建过程中的环境变量、缓存或命令问题。

  • 确认子模块完整性:
    如果项目包含子模块,执行git submodule update --init --recursive确保所有子模块都正确克隆并更新到最新版本。

内容的提问来源于stack exchange,提问作者Suryansh.p

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:06:04