LoginSignup
2
0

エラー対応 "dyld[94108]: Library not loaded: @rpath/Electron Framework.framework/Electron Framework"

Posted at

はじめに

Electron+Next.jsでデスクトップを開発しています。
ElectronのバージョンとNext.jsのバージョンをあげたときにエラーが発生しました。
macOSも同時期にsonomaにアップデートしました。

問題

MacOSでElectronを開発モードで起動した時だけ以下のエラーが発生しました。
本番ビルドすると正常に動作していました。

  • バージョン
    • macOS 14.3
    • electron 27.1.2

dyld[94108]: Library not loaded: @rpath/Electron Framework.framework/Electron Framework
Referenced from: /folder/node_modules/electron/dist/Electron.app/Contents/MacOS/Electron
Reason: tried: '/folder/node_modules/electron/dist/Electron.app/Contents/Frameworks/Electron Framework.framework/Electron Framework' (no such file), '/folder/node_modules/electron/dist/Electron.app/Contents/Frameworks/Electron Framework.framework/Electron Framework' (no such file), '/Library/Frameworks/Electron Framework.framework/Electron Framework' (no such file), '/System/Library/Frameworks/Electron Framework.framework/Electron Framework' (no such file, not in dyld cache)
/folder/node_modules/electron/dist/Electron.app/Contents/MacOS/Electron exited with signal SIGABRT
 ELIFECYCLE  Command failed with exit code 1.

解決方法

問題はmacOSでElectronをビルドした時に、シンボリックリンクが正常に貼られていないことが原因でした。
自分のアプリのソースコードにある node_modules/electrondist ファイルを削除して、 npm run postinstall を実行すると正常に動作します。

cd app_root/node_modules/electron
rm -r dist
npm run postinstall
cd ../..
pnpm dev # 自分のアプリのdev起動方法で!

これで問題なく動きました。
バグが修正されるまでは、スクリプトを作るなりで対応する必要がありそうです。

おわりに

すぐにバージョン上げた時のエラー処理には意外と時間かかってしまうので、タイミングを考える必要がありますね..

参考

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0