cube-js/cube · error · Error

You are using ${process.env} platform on arm64 which is not

Error message

You are using ${process.env} platform on arm64 which is not supported by Cube Store

What it means

In getTarget (rust/cubestore/js-wrapper/src/utils.ts:34), arm64 is supported only on Linux-GNU and macOS (darwin). Any other arm64 platform throws this error because no prebuilt Cube Store binary exists for it. The message interpolates ${process.env} by mistake instead of ${process.platform}.

Source

Thrown at rust/cubestore/js-wrapper/src/utils.ts:34

        );
    }
  }

  if (process.arch === 'arm64') {
    switch (process.platform) {
      case 'linux':
        switch (detectLibc()) {
          case 'gnu':
            return 'aarch64-unknown-linux-gnu';
          default:
            throw new Error(
              `You are using ${process.env} platform on arm64 with MUSL as standard library which is not supported by Cube Store, please use libc (GNU)`,
            );
        }
      case 'darwin':
        return 'aarch64-apple-darwin';
      default:
        throw new Error(
          `You are using ${process.env} platform on arm64 which is not supported by Cube Store`,
        );
    }
  }

  throw new Error(
    `You are using ${process.arch} architecture on ${process.platform} platform which is not supported by Cube Store`,
  );
}

export function isCubeStoreSupported(): boolean {
  if (process.arch === 'x64') {
    return ['win32', 'darwin', 'linux'].includes(process.platform);
  }

  if (process.arch === 'arm64') {
    if (process.platform === 'darwin') {
      return true;

View on GitHub (pinned to 7d981676b3)

Solutions

  1. Move the workload to a supported platform: macOS arm64, Linux arm64 (GNU), or x64 on win32/linux/darwin
  2. Run Cube Store as a standalone service on a supported host and connect remotely
  3. Build Cube Store from source on your platform and supply it via CUBEJS_CUBE_STORE_BINARY_PATH
Defensive patterns

Strategy: validation

Validate before calling

const supported = (process.arch === 'x64' && ['win32','linux','darwin'].includes(process.platform))
  || (process.arch === 'arm64' && ['linux','darwin'].includes(process.platform));
if (!supported) throw new Error(`Cube Store unsupported: ${process.arch}/${process.platform}`);

Prevention

When it happens

Trigger: process.arch === 'arm64' and process.platform is neither 'linux' nor 'darwin' when the wrapper resolves the Cube Store binary target.

Common situations: Running Cube on Windows-on-ARM, FreeBSD/arm64, or unusual emulated arm64 environments reporting a non-standard platform string.

Related errors


AI-assisted analysis of cube-js/cube@7d981676b3 (2026-09-02). Data as JSON: /api/errors/9ea30967272914d2. Report an issue: GitHub.