Possible install-time or require-time problem
What is the complete error message, including the full stack trace?
file:///home/protected/server/node_modules/sharp/dist/sharp.mjs:161
throw new Error(help.join("\n"));
^
Error: Could not load the "sharp" module using the freebsd-x64 runtime
Possible solutions:
- Ensure optional dependencies can be installed:
npm install --include=optional sharp
- Ensure your package manager supports multi-platform installation:
See https://sharp.pixelplumbing.com/install#cross-platform
- Add platform-specific dependencies:
npm install --os=freebsd --cpu=x64 sharp
- Consult the installation documentation:
See https://sharp.pixelplumbing.com/install
at file:///home/protected/server/node_modules/sharp/dist/sharp.mjs:161:9
at ModuleJob.run (node:internal/modules/esm/module_job:430:25)
at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:661:26)
at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:101:5)
Node.js v24.13.1
Trying all the solutions mentioned didn't make a difference. So I dug into what the actual error message was and
after modifying sharp.mjs to show me the actual error, I could see it was a problem with the @img/sharp-wasm32 package:
Error: Cannot find module '/home/protected/server/node_modules/@img/sharp-wasm32/index.cjs'
at createEsmNotFoundErr (node:internal/modules/cjs/loader:1485:15)
at finalizeEsmResolution (node:internal/modules/cjs/loader:1474:9)
at resolveExports (node:internal/modules/cjs/loader:679:14)
at Module._findPath (node:internal/modules/cjs/loader:746:31)
at Module._resolveFilename (node:internal/modules/cjs/loader:1433:27)
at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19)
at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22)
at Module._load (node:internal/modules/cjs/loader:1234:25)
at TracingChannel.traceSync (node:diagnostics_channel:328:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) {
code: 'MODULE_NOT_FOUND',
path: '/home/protected/server/node_modules/@img/sharp-wasm32'
}
I looked in node_modules/@img/sharp-wasm32/ and there indeed was no index.cjs. I gathered it was likely referring to the files in lib/ so I ran the following commands:
$ cp node_modules/\@img/sharp-wasm32/lib/sharp-wasm32-0.35.0.node.js node_modules/\@img/sharp-wasm32/index.cjs
$ cp node_modules/\@img/sharp-wasm32/lib/sharp-wasm32-0.35.0.node.wasm node_modules/\@img/sharp-wasm32/
After which I was able to get sharp running correctly.
Is there maybe an incorrect build/packaging step for @img/sharp-wasm32?
What is the complete output of running npm install --verbose --foreground-scripts sharp in an empty directory?
Details
$ npm install --verbose --foreground-scripts sharp
npm verbose cli /usr/local/bin/node /usr/local/bin/npm
npm info using npm@11.10.0
npm info using node@v24.13.1
npm verbose title npm install sharp
npm verbose argv "install" "--loglevel" "verbose" "--foreground-scripts" "sharp"
npm verbose logfile logs-max:10 dir:/home/private/.npm/_logs/2026-06-11T05_21_40_311Z-
npm verbose logfile /home/private/.npm/_logs/2026-06-11T05_21_40_311Z-debug-0.log
npm warn Unknown global config "python". This will stop working in the next major version of npm.
npm http fetch GET 200 https://registry.npmjs.org/sharp 140ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/detect-libc 287ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/semver 309ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fcolour 574ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-darwin-arm64 536ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-freebsd-wasm32 372ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-darwin-x64 641ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-darwin-x64 68ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-linux-arm 71ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-linux-ppc64 144ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-linux-arm64 171ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-linux-riscv64 262ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-darwin-arm64 640ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-linux-s390x 620ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-linuxmusl-arm64 362ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-linux-x64 380ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-linux-arm 71ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-linux-arm64 79ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-linuxmusl-x64 164ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-linux-ppc64 88ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-linux-x64 58ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-linux-riscv64 147ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-linux-s390x 96ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-linuxmusl-x64 541ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-linuxmusl-arm64 564ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-webcontainers-wasm32 579ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-win32-arm64 62ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-win32-ia32 63ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-win32-x64 163ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-wasm32 62ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-wasm32 65ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@emnapi%2fruntime 65ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/tslib 60ms (cache revalidated)
npm http cache tslib@https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz 0ms (cache hit)
npm http cache semver@https://registry.npmjs.org/semver/-/semver-7.8.4.tgz 0ms (cache hit)
npm http cache @img/sharp-wasm32@https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.0.tgz 0ms (cache hit)
npm http cache @emnapi/runtime@https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.0.tgz 0ms (cache hit)
npm http cache detect-libc@https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz 0ms (cache hit)
npm http cache @img/colour@https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz 0ms (cache hit)
npm http cache @img/sharp-freebsd-wasm32@https://registry.npmjs.org/@img/sharp-freebsd-wasm32/-/sharp-freebsd-wasm32-0.35.0.tgz 0ms (cache hit)
npm http cache sharp@https://registry.npmjs.org/sharp/-/sharp-0.35.0.tgz 0ms (cache hit)
added 8 packages in 9s
3 packages are looking for funding
run `npm fund` for details
npm verbose cwd /home/protected/test
npm verbose os FreeBSD 14.4-STABLE
npm verbose node v24.13.1
npm verbose npm v11.10.0
npm verbose exit 0
npm info ok
What is the output of running npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp?
$ npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp
npm warn Unknown global config "python". This will stop working in the next major version of npm.
Need to install the following packages:
envinfo@7.21.0
Ok to proceed? (y) y
System:
OS: freebsd
CPU: (4) x64 AMD EPYC Processor (with IBPB)
Memory: 2.72 GB / 7.96 GB
Binaries:
Node: 24.13.1 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 11.10.0 - /usr/local/bin/npm
Deno: 2.6.6 - /usr/local/bin/deno
npmPackages:
sharp: ^0.35.0 => 0.35.0
Possible install-time or require-time problem
sharpas reported bynpm view sharp dist-tags.latest.>=20.9.0--include=optionalWhat is the complete error message, including the full stack trace?
Trying all the solutions mentioned didn't make a difference. So I dug into what the actual error message was and
after modifying
sharp.mjsto show me the actual error, I could see it was a problem with the@img/sharp-wasm32package:I looked in
node_modules/@img/sharp-wasm32/and there indeed was noindex.cjs. I gathered it was likely referring to the files inlib/so I ran the following commands:After which I was able to get sharp running correctly.
Is there maybe an incorrect build/packaging step for
@img/sharp-wasm32?What is the complete output of running
npm install --verbose --foreground-scripts sharpin an empty directory?Details
What is the output of running
npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp?