Skip to content

npm install esbuild failed on android-x64 and android-arm platforms #4209

@hqzing

Description

@hqzing

When I install esbuild on the android-x64 platform, the following error occurs:

root@9066111968ec:/data/test-esbuild-install# npm install esbuild
npm error code 1
npm error path /data/test-esbuild-install/node_modules/esbuild
npm error command failed
npm error command sh -c node install.js
npm error node:internal/errors:983
npm error   const err = new Error(message);
npm error               ^
npm error
npm error Error: Command failed: /data/test-esbuild-install/node_modules/esbuild/bin/esbuild --version
npm error node:fs:441
npm error     return binding.readFileUtf8(path, stringToFlags(options.flag));
npm error                    ^
npm error
npm error Error: ENOENT: no such file or directory, open '/data/test-esbuild-install/node_modules/esbuild/wasm_exec_node.js'
npm error     at Object.readFileSync (node:fs:441:20)
npm error     at Object.<anonymous> (/data/test-esbuild-install/node_modules/esbuild/bin/esbuild:12:17)
npm error     at Module._compile (node:internal/modules/cjs/loader:1546:14)
npm error     at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)
npm error     at Module.load (node:internal/modules/cjs/loader:1317:32)
npm error     at Module._load (node:internal/modules/cjs/loader:1127:12)
npm error     at TracingChannel.traceSync (node:diagnostics_channel:315:14)
npm error     at wrapModuleLoad (node:internal/modules/cjs/loader:217:24)
npm error     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:166:5)
npm error     at node:internal/main/run_main_module:30:49 {
npm error   errno: -2,
npm error   code: 'ENOENT',
npm error   syscall: 'open',
npm error   path: '/data/test-esbuild-install/node_modules/esbuild/wasm_exec_node.js'
npm error }
npm error
npm error Node.js v22.7.0
npm error
npm error     at genericNodeError (node:internal/errors:983:15)
npm error     at wrappedFn (node:internal/errors:537:14)
npm error     at checkExecSyncError (node:child_process:890:11)
npm error     at Object.execFileSync (node:child_process:926:15)
npm error     at validateBinaryVersion (/data/test-esbuild-install/node_modules/esbuild/install.js:101:28)
npm error     at /data/test-esbuild-install/node_modules/esbuild/install.js:285:5 {
npm error   status: 1,
npm error   signal: null,
npm error   output: [
npm error     null,
npm error     Buffer(0) [Uint8Array] [],
npm error     Buffer(1034) [Uint8Array] [
npm error       110, 111, 100, 101,  58, 102, 115,  58,  52,  52,  49,  10,
npm error        32,  32,  32,  32, 114, 101, 116, 117, 114, 110,  32,  98,
npm error       105, 110, 100, 105, 110, 103,  46, 114, 101,  97, 100,  70,
npm error       105, 108, 101,  85, 116, 102,  56,  40, 112,  97, 116, 104,
npm error        44,  32, 115, 116, 114, 105, 110, 103,  84, 111,  70, 108,
npm error        97, 103, 115,  40, 111, 112, 116, 105, 111, 110, 115,  46,
npm error       102, 108,  97, 103,  41,  41,  59,  10,  32,  32,  32,  32,
npm error        32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,
npm error        32,  32,  32,  94,
npm error       ... 934 more items
npm error     ]
npm error   ],
npm error   pid: 127166,
npm error   stdout: Buffer(0) [Uint8Array] [],
npm error   stderr: Buffer(1034) [Uint8Array] [
npm error     110, 111, 100, 101,  58, 102, 115,  58,  52,  52,  49,  10,
npm error      32,  32,  32,  32, 114, 101, 116, 117, 114, 110,  32,  98,
npm error     105, 110, 100, 105, 110, 103,  46, 114, 101,  97, 100,  70,
npm error     105, 108, 101,  85, 116, 102,  56,  40, 112,  97, 116, 104,
npm error      44,  32, 115, 116, 114, 105, 110, 103,  84, 111,  70, 108,
npm error      97, 103, 115,  40, 111, 112, 116, 105, 111, 110, 115,  46,
npm error     102, 108,  97, 103,  41,  41,  59,  10,  32,  32,  32,  32,
npm error      32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,
npm error      32,  32,  32,  94,
npm error     ... 934 more items
npm error   ]
npm error }
npm error
npm error Node.js v22.7.0
npm error A complete log of this run can be found in: /data/.npm/_logs/2025-06-19T01_19_11_079Z-debug-0.log

The reason for the error is in the maybeOptimizePackage function.

This function copied @esbuild/android-x64/bin/esbuild to esbuild/bin/esbuild, but did not copy @esbuild/android-x64/esbuild.wasm, @esbuild/android-x64/wasm_exec.js, @esbuild/android-x64/wasm_exec_node.js.

function maybeOptimizePackage(binPath) {
  if (os2.platform() !== "win32" && !isYarn()) {
    const tempPath = path2.join(__dirname, "bin-esbuild");
    try {
      fs2.linkSync(binPath, tempPath);
      fs2.renameSync(tempPath, toPath);
      isToPathJS = false;
      fs2.unlinkSync(tempPath);
    } catch {
    }
  }
}

This error also occurs on android-arm platform.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions