{"record":{"id":"101358960570a5ea","repo":"cube-js/cube","slug":"you-are-using-process-env-platform-on-x86-which","errorCode":null,"errorMessage":"You are using ${process.env} platform on x86 which is not supported by Cube Store","messagePattern":"You are using (.+?) platform on x86 which is not supported by Cube Store","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"rust/cubestore/js-wrapper/src/utils.ts","lineNumber":14,"sourceCode":"import process from 'process';\nimport { displayCLIWarning, internalExceptions, detectLibc } from '@cubejs-backend/shared';\n\nexport function getTarget(): string {\n  if (process.arch === 'x64') {\n    switch (process.platform) {\n      case 'win32':\n        return 'x86_64-pc-windows-msvc';\n      case 'linux':\n        return `x86_64-unknown-linux-${detectLibc()}`;\n      case 'darwin':\n        return 'x86_64-apple-darwin';\n      default:\n        throw new Error(\n          `You are using ${process.env} platform on x86 which is not supported by Cube Store`,\n        );\n    }\n  }\n\n  if (process.arch === 'arm64') {\n    switch (process.platform) {\n      case 'linux':\n        switch (detectLibc()) {\n          case 'gnu':\n            return 'aarch64-unknown-linux-gnu';\n          default:\n            throw new Error(\n              `You are using ${process.env} platform on arm64 with MUSL as standard library which is not supported by Cube Store, please use libc (GNU)`,\n            );\n        }\n      case 'darwin':\n        return 'aarch64-apple-darwin';","sourceCodeStart":1,"sourceCodeEnd":32,"githubUrl":"https://github.com/cube-js/cube/blob/7d981676b36392fec34088b9afab6bdcad40207c/rust/cubestore/js-wrapper/src/utils.ts#L1-L32","documentation":"Thrown by getTarget() when running on an x86 (process.arch === 'x64') platform that is not win32, linux, or darwin. Cube Store publishes prebuilt binaries only for specific platform/architecture combinations, so the wrapper cannot compute a Rust target triple and refuses to proceed. Note the message interpolates the whole process.env object (a library bug) — the real culprit is process.platform.","triggerScenarios":"getTarget() is called by currentTarget()/downloadBinaryFromRelease() on process.arch === 'x64' with process.platform being anything other than 'win32', 'linux', or 'darwin' (e.g. freebsd, openbsd, aix, sunos).","commonSituations":"Running Cube (or its Cube Store autostart) on FreeBSD/OpenBSD servers or other Unix variants; running under unusual/emulated environments reporting exotic platform strings; containers or CI images based on non-glibc/non-supported OSes where platform detection yields an unsupported value.","solutions":["Move the workload to a supported platform: linux (glibc or musl per detectLibc), macOS, or Windows on x64 — or use arm64 darwin/linux-gnu.","Run Cube via the official Docker images, which bundle a supported Cube Store binary regardless of host OS.","Deploy Cube Store as a separate standalone service on a supported machine and point Cube at it instead of auto-spawning locally.","If you must stay on the unsupported OS, build cubestored from source (cargo build --release) and place it at the downloaded/latest/bin path so the download path is skipped.","Ignore via isCubeStoreSupported() guard: skip local Cube Store startup when it returns false and configure an external instance."],"exampleFix":"// before: getTarget() throws on unsupported platforms\nconst target = getTarget();\n// after: check support first\nimport { isCubeStoreSupported } from '@cubejs-backend/cubestool/dist/utils';\nif (!isCubeStoreSupported()) {\n  console.warn('Cube Store has no prebuilt binary for this platform; using external Cube Store instance.');\n} else {\n  const target = getTarget();\n}","handlingStrategy":"type-guard","validationCode":"import process from 'process';\nimport { isCubeStoreSupported } from '@cubejs-backend/cubestool/dist/utils';\nif (!isCubeStoreSupported()) {\n  // route to external Cube Store / Docker instead of local spawn\n}","typeGuard":"function cubeStorePlatformSupported(p: NodeJS.Platform, a: string): boolean {\n  if (a === 'x64') return ['win32','linux','darwin'].includes(p);\n  if (a === 'arm64') return p === 'darwin' || p === 'linux';\n  return false;\n}","tryCatchPattern":"try {\n  const target = getTarget();\n} catch (e) {\n  if (/not supported by Cube Store/.test(String(e))) {\n    useExternalCubeStore(); // skip local binary download entirely\n  } else { throw e; }\n}","preventionTips":["Check process.platform/process.arch against the support matrix before enabling local Cube Store","Deploy on supported platforms (linux/macOS/Windows x64, arm64 darwin/linux-gnu) or via official Docker images","Run Cube Store as a standalone service on a supported host for exotic OSes (FreeBSD etc.)","Call isCubeStoreSupported() as a startup gate in your deployment scripts"],"tags":["platform-compatibility","cubestore","unsupported-platform"],"backgroundTag":"unsupported-platform","analyzedSha":"7d981676b36392fec34088b9afab6bdcad40207c","analyzedAt":"2026-09-02T03:45:10.400Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}