Skip to content

Add Electron 38.4.0 ABI mapping (prebuild-install fails to detect) #261

@schickling

Description

@schickling

Prebuilds for Electron 38 fail to download because node-abi doesn’t recognize Electron 38.4.0.

Environment

  • electron: 38.4.0
  • prebuild-install: 7.1.3
  • node-abi: 3.74.0 (bundled with prebuild-install)
  • Platform: macOS arm64

Repro

npm_config_runtime=electron \
  npm_config_target=38.4.0 \
  npm_config_disturl=https://electronjs.org/headers \
  npm_config_arch=arm64 \
  npx prebuild-install --tag-prefix=v

Observed error

Error: Could not detect abi for version 38.4.0 and runtime electron. Updating "node-abi" might help solve this issue if it is a new release of electron
    at getAbi (.../node_modules/node-abi/index.js:39:9)
    at module.exports (.../node_modules/prebuild-install/rc.js:54:57)
    at Object.<anonymous> (.../node_modules/prebuild-install/bin.js:8:27)

Context

  • Electron 38 uses NODE_MODULE_VERSION 139 (Electron 38.4.0).
  • Native modules built against Node (ABI 137) fail to load in Electron with "was compiled against a different Node.js version".
  • Upstream packages (e.g., better-sqlite3) publish Electron 38 prebuilds, but prebuild-install can’t fetch them until node-abi knows about Electron 38.4.0.

Request
Add Electron 38.x (38.4.0) to the ABI map so prebuild-install can resolve the ABI and download the prebuilt artifacts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions