cube-js / cube

📊 Cube — Universal semantic layer platform for AI, BI, spreadsheets, and embedded analytics
https://cube.dev
Other
17.96k stars 1.78k forks source link

SQL API - Different node.js versions in Cubejs Docker images returning Unable to load @cubejs-backend/native, probably your system (x64-linux) with Node.js #5748

Open rili-ib opened 1 year ago

rili-ib commented 1 year ago

Describe the bug I have been working on trying to add the SQL API to our cubejs service using Docker but have hit a blocker with the different nodejs versions. In our Docker image, we are currently using cubejs/cube:v0.31.20-alpine as our base image but when adding the CUBEJS_PG_SQL_PORT=5432, CUBEJS_SQL_USER=myusername, CUBEJS_SQL_PASSWORD=mypassword as specified in the docs, we're immediately hit with an error message, Error: Unable to load @cubejs-backend/native, probably your system (x64-linux) with Node.js, probably your system (x64-linux) with Node.js v14.18.2 is not supported..

However, this is not the case when using cubejs/cube:latest. After investigating the different node versions, it looks like alpine docker image is using v14.18.2 as shown in https://github.com/cube-js/cube.js/blob/master/packages/cubejs-docker/latest-alpine.Dockerfile#L1 but cubejs/cube:latest is using https://github.com/cube-js/cube.js/blob/master/packages/cubejs-docker/latest.Dockerfile#L1.

To Reproduce Steps to reproduce the behavior:

  1. Update the base image to cubejs/cube:v0.31.20-alpine in the docker-compose.yml
  2. Add CUBEJS_PG_SQL_PORT=5432, CUBEJS_SQL_USER=myusername, CUBEJS_SQL_PASSWORD=mypassword to .env
  3. Run docker-compose up
  4. See error: Error: Unable to load @cubejs-backend/native, probably your system (x64-linux) with Node.js v14.18.2 is not supported..

Expected behavior I would expect while using cubejs/cube:v0.31.20-alpine, it should not have returned an error message regarding the unsupported node.js version when adding cube sql API.

Version: node.js v14.18.20

ovr commented 1 year ago

Hello!

It's related to alpine because it uses MUSL libc, which we still don't support.

Thanks

igorlukanin commented 1 month ago

Hi @rili-ib 👋

Some time ago, we stopped maintaining Alpine images. Could you please check on a recent Cube image, e.g., v0.36.7?