Я пытаюсь разработать приложение Electron Forge Vite, которое использует Better-sqlite3 в качестве базы данных. Он отлично работает в среде разработки, но после того, как я создаю пакет .deb, чтобы проверить его внешнюю разработку (я на Ubuntu), я получаю следующую ошибку: < /p>
A JavaScript error occurred in the main process
Uncaught Exception:
Error: Cannot find module 'better-sqlite3'
Require stack:
- /usr/lib/babel-gate/resources/app.asar/.vite/build/main.js
-
at Module._resolveFilename (node:internal/modules/cjs/loader:1232:15)
at s._resolveFilename (node:electron/js2c/browser_init:2:124485)
at Module._load (node:internal/modules/cjs/loader:1058:27)
at c._load (node:electron/js2c/node_init:2:16955)
at Module.require (node:internal/modules/cjs/loader:1318:19)
at require (node:internal/modules/helpers:179:18)
at Object. (/usr/lib/babel-gate/resources/app.asar/.vite/build/main.js:30:61788)
at Module._compile (node:internal/modules/cjs/loader:1484:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1564:10)
at Module.load (node:internal/modules/cjs/loader:1295:32)
Я пытаюсь разработать приложение Electron Forge Vite, которое использует Better-sqlite3 в качестве базы данных. Он отлично работает в среде разработки, но после того, как я создаю пакет .deb, чтобы проверить его внешнюю разработку (я на Ubuntu), я получаю следующую ошибку: < /p> [code]A JavaScript error occurred in the main process Uncaught Exception: Error: Cannot find module 'better-sqlite3' Require stack: - /usr/lib/babel-gate/resources/app.asar/.vite/build/main.js - at Module._resolveFilename (node:internal/modules/cjs/loader:1232:15) at s._resolveFilename (node:electron/js2c/browser_init:2:124485) at Module._load (node:internal/modules/cjs/loader:1058:27) at c._load (node:electron/js2c/node_init:2:16955) at Module.require (node:internal/modules/cjs/loader:1318:19) at require (node:internal/modules/helpers:179:18) at Object. (/usr/lib/babel-gate/resources/app.asar/.vite/build/main.js:30:61788) at Module._compile (node:internal/modules/cjs/loader:1484:14) at Module._extensions..js (node:internal/modules/cjs/loader:1564:10) at Module.load (node:internal/modules/cjs/loader:1295:32) [/code] my forge.config.js : [code]const { FusesPlugin } = require("@electron-forge/plugin-fuses"); const { FuseV1Options, FuseVersion } = require("@electron/fuses");
module.exports = { packagerConfig: { asar: true, executableName: "babel-gate", }, rebuildConfig: { buildOnly: true, force: true, }, makers: [ { name: "@electron-forge/maker-squirrel", config: {}, }, { name: "@electron-forge/maker-zip", platforms: ["darwin"], }, { name: "@electron-forge/maker-deb", config: {}, }, { name: "@electron-forge/maker-rpm", config: {}, }, ], plugins: [ { name: "@electron-forge/plugin-auto-unpack-natives", config: {}, }, { name: "@electron-forge/plugin-vite", config: { // `build` can specify multiple entry builds, which can be Main process, Preload scripts, Worker process, etc. // If you are familiar with Vite configuration, it will look really familiar. build: [ { // `entry` is just an alias for `build.lib.entry` in the corresponding file of `config`. entry: "src/main.js", config: "vite_configs/vite.main.config.mjs", target: "main", }, { entry: "src/preload.js", config: "vite_configs/vite.preload.config.mjs", target: "preload", }, { entry: "src/overlay/overlay_preload.js", config: "vite_configs/vite.overlay_preload.config.mjs", target: "preload", }, ], renderer: [ { name: "main_window", config: "vite_configs/vite.renderer.config.mjs", }, ], }, }, // Fuses are used to enable/disable various Electron functionality // at package time, before code signing the application new FusesPlugin({ version: FuseVersion.V1, [FuseV1Options.RunAsNode]: false, [FuseV1Options.EnableCookieEncryption]: true, [FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false, [FuseV1Options.EnableNodeCliInspectArguments]: false, [FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true, [FuseV1Options.OnlyLoadAppFromAsar]: true, }), ], };
Что я пробовал: [list] [*] Явно восстановление нативных модулей с помощью электрон-повторной forge.config.js нравится это: [/list] [code]packagerConfig: { asar: true, executableName: "babel-gate", extraResource: ["./node_modules/better-sqlite3"], asarUnpack: ["**/node_modules/better-sqlite3/**"] } [/code] [list] [*] Настройка fusev1options.onlyloadappfromasar to false [*] Это решение https://stackoverflow.com/a/79445715/22621183, но мне нужно было добавить еще больше зависимости, чтобы построить в процессе. на Linux без ошибки. [*] Обратайте назад, прежде чем я добавил Better-sqlite3 , но построенное приложение показало ту же ошибку, но с Dotenv . (вероятно, связано с предыдущим) [/list] Вы можете проверить полный проект на GitHub: Babel-Gate.>
Я пытаюсь разработать приложение Electron Forge Vite, которое использует Better-sqlite3 в качестве базы данных. Он отлично работает в среде разработки, но после того, как я создаю пакет .deb, чтобы проверить его внешнюю разработку (я на Ubuntu), я...
Я интегрировал SQLite3 в свой проект, который я разработал с помощью электрона и реагирования. Все отлично работает в среде разработки. Однако, когда я перемещаю проект в производственную среду, я сталкиваюсь с ошибкой, связанной с SQLite3. База...
Так в основном, когда я строю электронное приложение с моего ПК разработки и устанавливаю.\Hasan Here Exam Portal\resources\app\node_modules\better-sqlite3\build\Release\better_sqlite3.node'
was compiled against a different Node.js version using...
Пакет, о котором идет речь, — это библиотека спектральных CFD Dedalus. Для потомков я также свяжу домашнюю страницу проекта.
Когда я запускаю поиск conda --channel conda-forge dedalus или варианты с опциями, я не могу найти пакет dedalus. Это не...