capacitor-assets icon indicating copy to clipboard operation
capacitor-assets copied to clipboard

sharp issues on mac silicon m4

Open rtpHarry opened this issue 8 months ago • 1 comments

Had a bunch of issues trying to get this to work, so I thought I would post my notes about how I got around this problem:

npx @capacitor/assets generate                                                                              ─╯
/Users/matthewharris/rtp/rtpSoftware/Ionic/BeerBargain/BeerBargainApp/node_modules/@capacitor/assets/node_modules/sharp/lib/sharp.js:37
  throw new Error(help.join('\n'));
  ^

Error: 
Something went wrong installing the "sharp" module

dlopen(/Users/matthewharris/rtp/rtpSoftware/Ionic/BeerBargain/BeerBargainApp/node_modules/@capacitor/assets/node_modules/sharp/build/Release/sharp-darwin-arm64v8.node, 0x0001): tried: '/Users/matthewharris/rtp/rtpSoftware/Ionic/BeerBargain/BeerBargainApp/node_modules/@capacitor/assets/node_modules/sharp/build/Release/sharp-darwin-arm64v8.node' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/matthewharris/rtp/rtpSoftware/Ionic/BeerBargain/BeerBargainApp/node_modules/@capacitor/assets/node_modules/sharp/build/Release/sharp-darwin-arm64v8.node' (no such file), '/Users/matthewharris/rtp/rtpSoftware/Ionic/BeerBargain/BeerBargainApp/node_modules/@capacitor/assets/node_modules/sharp/build/Release/sharp-darwin-arm64v8.node' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64'))

Possible solutions:
- Install with verbose logging and look for errors: "npm install --ignore-scripts=false --foreground-scripts --verbose sharp"
- Install for the current darwin-arm64v8 runtime: "npm install --platform=darwin --arch=arm64v8 sharp"
- Consult the installation documentation: https://sharp.pixelplumbing.com/install
    at Object.<anonymous> (/Users/matthewharris/rtp/rtpSoftware/Ionic/BeerBargain/BeerBargainApp/node_modules/@capacitor/assets/node_modules/sharp/lib/sharp.js:37:9)
    at Module._compile (node:internal/modules/cjs/loader:1562:14)
    at Object..js (node:internal/modules/cjs/loader:1699:10)
    at Module.load (node:internal/modules/cjs/loader:1313:32)
    at Function._load (node:internal/modules/cjs/loader:1123:12)
    at TracingChannel.traceSync (node:diagnostics_channel:322:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:217:24)
    at Module.require (node:internal/modules/cjs/loader:1335:12)
    at require (node:internal/modules/helpers:136:16)
    at Object.<anonymous> (/Users/matthewharris/rtp/rtpSoftware/Ionic/BeerBargain/BeerBargainApp/node_modules/@capacitor/assets/node_modules/sharp/lib/constructor.js:11:1)

Node.js v22.13.1

Basically I tried a bunch of things, one was putting a override in package.json:

  "overrides": {
    "@capacitor/assets": {
      "sharp": "^0.34.1"
    }
  }

and then run npm i

That did not fix it but it might have been required in the process so I'm including it.

Then I did the advice here:

npm install --platform=darwin --arch=x64 sharp
npm rebuild --platform=darwin --arch=arm64 sharp

It gave some warnings about not knowing the params:

npm install --platform=darwin --arch=x64 sharp                                                              ─╯

npm warn Unknown cli config "--platform". This will stop working in the next major version of npm.
npm warn Unknown cli config "--arch". This will stop working in the next major version of npm.

up to date, audited 1582 packages in 6s

and then

╰─ npm rebuild --platform=darwin --arch=arm64 sharp                                                            ─╯

npm warn Unknown cli config "--platform". This will stop working in the next major version of npm.
npm warn Unknown cli config "--arch". This will stop working in the next major version of npm.
rebuilt dependencies successfully

but it did something that worked:

╰─ npx @capacitor/assets generate                                                                              ─╯
No assets found in the asset path /Users/matthewharris/rtp/rtpSoftware/Ionic/BeerBargain/BeerBargainApp/src/assets. See https://github.com/ionic-team/capacitor-assets to learn how to use this tool.

So i still have issues, but im past the sharp related one... hope this helps somebody.

rtpHarry avatar Apr 21 '25 13:04 rtpHarry

This may be related to https://github.com/ionic-team/capacitor-assets/issues/636

ptmkenny avatar May 10 '25 13:05 ptmkenny