执行cubejs create命令创建服务时报unexpected response Forbidden错误
这个报错是Cube.js在安装依赖阶段,尝试下载内置的Cube Store预编译二进制文件时,请求被网络拦截(可能是公司防火墙、代理配置异常、国内网络访问GitHub Release受限)导致的403 Forbidden错误。
方案1:跳过Cube Store安装(最适合开发测试场景)
大部分情况下开发阶段不需要用到Cube Store内置存储,可通过设置环境变量跳过Cube Store的安装步骤:
如果你使用Windows CMD,先执行:set CUBESTORE_SKIP_POST_INSTALL=true
如果你使用Windows PowerShell,先执行:$env:CUBESTORE_SKIP_POST_INSTALL = $true
如果你使用macOS/Linux终端,先执行:export CUBESTORE_SKIP_POST_INSTALL=true
设置完成后再重新执行创建命令即可:cubejs create d3-dashboard -d postgres方案2:手动安装Cube Store(需要用到Cube Store的场景)
先运行创建命令时跳过依赖安装:cubejs create d3-dashboard -d postgres --skip-install
进入项目目录后,手动下载对应你系统版本的Cube Store二进制文件,放到node_modules/@cubejs-backend/cubestore/bin目录下,再执行npm install完成剩余依赖安装即可。方案3:排查网络限制
如果你是在公司内网环境下操作,可确认是否有防火墙拦截了GitHub Release的下载请求,切换到公网环境、配置合适的npm代理后重新执行安装命令。方案4:使用Docker部署Cube.js
直接拉取Cube.js官方镜像启动服务,跳过本地npm依赖安装环节,可完全避免该类下载报错。
内容的提问来源于stack exchange,提问作者Ramachandran Periyasamy

