{"record":{"id":"8e0055e328732a6c","repo":"FuelLabs/fuels-ts","slug":"unsupported-arch-process-arch","errorCode":null,"errorMessage":"Unsupported arch ${process.arch}","messagePattern":"Unsupported arch (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"internal/forc/lib/shared.js","lineNumber":46,"sourceCode":"  'forc-doc',\n  'forc-fmt',\n  'forc-lsp',\n  'forc-migrate',\n  'forc-run',\n  'forc-submit',\n  'forc-tx',\n];\n\nexport const getPkgPlatform = () => {\n  if (process.platform !== 'darwin' && process.platform !== 'linux') {\n    throw new Error(\n      `Unsupported platform ${process.platform}.${\n        process.platform === 'win32' ? ' If you are on Windows, please use WSL.' : ''\n      }}`\n    );\n  }\n  if (process.arch !== 'arm64' && process.arch !== 'x64') {\n    throw new Error(`Unsupported arch ${process.arch}`);\n  }\n  return platforms[process.platform][process.arch];\n};\n\nexport const versionFilePath = join(__dirname, '../VERSION');\n\nexport const getCurrentVersion = () => {\n  const versionContents = readFileSync(versionFilePath, 'utf8');\n  const forcVersion = versionContents.match(/^.+$/m)?.[0] || versionContents;\n  return forcVersion;\n};\n\nexport const setCurrentVersion = (version) => {\n  writeFileSync(versionFilePath, version);\n};\n\nexport const isGitBranch = (versionFileContents) => versionFileContents.indexOf('git:') !== -1;\n","sourceCodeStart":28,"sourceCodeEnd":64,"githubUrl":"https://github.com/FuelLabs/fuels-ts/blob/b3f37c91aca4aa9d5e4c0d3967f66237190826ea/internal/forc/lib/shared.js#L28-L64","documentation":"Thrown by `getPkgPlatform()` in the forc installer after the platform check passes but `process.arch` is neither `arm64` nor `x64`. The published forc binaries only cover Apple Silicon / ARM Linux and x86-64.","triggerScenarios":"Running the install on `ia32` (32-bit x86), `armv7l`/`arm` (32-bit ARM, e.g. Raspberry Pi OS 32-bit), `mips`, `riscv64`, or any other non-arm64/non-x64 CPU architecture.","commonSituations":"Node.js installed as a 32-bit build on a 64-bit host; embedded/IoT Linux boards running 32-bit kernels; emulated CI environments reporting an uncommon arch.","solutions":["Reinstall Node.js as a 64-bit `x64` or `arm64` build matching your CPU (`node -p process.arch` to confirm).","On a 32-bit ARM board, switch to a 64-bit kernel/userland so `process.arch` reports `arm64`.","If you genuinely need another arch, build forc from source by setting `internal/forc/VERSION` to `git:<branch>` and extend the `platforms` map."],"exampleFix":"// before\n$ node -p process.arch\nia32\n// after: install 64-bit node, then\n$ node -p process.arch\nx64","handlingStrategy":"validation","validationCode":"const SUPPORTED_ARCHS = new Set(['arm64', 'x64']);\nif (!SUPPORTED_ARCHS.has(process.arch)) {\n  throw new Error(`Refusing to install forc on arch ${process.arch}; use an x64 or arm64 Node.js build.`);\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Install a 64-bit Node.js build; check `node -p process.arch` in onboarding.","Pin CI runners to `x64` or `arm64` images explicitly.","For unusual archs, build forc from source via `git:<branch>` in VERSION."],"tags":["install","forc","architecture","environment"],"backgroundTag":null,"analyzedSha":"b3f37c91aca4aa9d5e4c0d3967f66237190826ea","analyzedAt":"2026-08-12T20:30:56.448Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}