Dado que usé el complemento de paquete web de Electron forge , cuando ejecuto npm start , causará un error después del paso Compilación de scripts de precarga . Dice que el error está dentro de Forge .
Lo compruebo, es un error en la API del observador de archivos, que mainCompilation.fileSystemInfo no está definido, por lo que no puede leer la función prop createSnapShot.
¿Qué debo hacer para resolver este error e iniciar mi aplicación?
Registros:
> datapack-planet@0.0.0 start D:\program\datapack-planet > electron-forge start √ Checking your system √ Locating Application You have set packagerConfig.ignore, the Electron Forge webpack plugin normally sets this automatically. Your packaged app may be larger than expected if you dont ignore everything other than the '.webpack' folder √ Preparing native dependencies √ Compiling Main Process Code √ Launch Dev Servers √ Compiling Preload Scripts An unhandled rejection has occurred inside Forge: TypeError: Cannot read property 'createSnapshot' of undefined at D:\program\datapack-planet\node_modules\html-webpack-plugin\lib\webpack5\file-watcher-api.js:13:36 at new Promise (<anonymous>) at Object.createSnapshot (D:\program\datapack-planet\node_modules\html-webpack-plugin\lib\webpack5\file-watcher-api.js:12:10) at D:\program\datapack-planet\node_modules\html-webpack-plugin\lib\cached-child-compiler.js:219:35 at processTicksAndRejections (internal/process/task_queues.js:93:5) Electron Forge was terminated. Location: {} npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! datapack-planet@0.0.0 start: `electron-forge start` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the datapack-planet@0.0.0 start script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\dell\AppData\Roaming\npm-cache\_logs\2021-01-22T04_33_47_591Z-debug.log Mi package.json (NO TODO, SOLO DATOS IMPORTANTES):
{ "main": "./.webpack/main", "devDependencies": { "@electron-forge/cli": "^6.0.0-beta.54", "@electron-forge/maker-deb": "^6.0.0-beta.54", "@electron-forge/maker-rpm": "^6.0.0-beta.54", "@electron-forge/maker-squirrel": "^6.0.0-beta.54", "@electron-forge/maker-zip": "^6.0.0-beta.54", "@electron-forge/plugin-webpack": "^6.0.0-beta.54", "@marshallofsound/webpack-asset-relocator-loader": "^0.5.0", "@types/jquery": "^3.5.5", "@types/node": "^14.14.22", "electron": "^11.1.1", "fork-ts-checker-webpack-plugin": "^6.1.0", "html-loader": "^1.3.2", "jquery": "^3.5.1", "less": "^4.1.0", "less-loader": "^7.2.1", "node-loader": "^1.0.2", "ts-loader": "^8.0.14", "typescript": "^4.1.3", "webpack": "^5.16.0", "webpack-cli": "^4.4.0" }, "dependencies": { "electron-squirrel-startup": "^1.0.0", "jquery": "^3.5.1" }, "scripts": { "start": "electron-forge start", "package": "electron-forge package", "make": "electron-forge make" }, "config": { "forge": { "packagerConfig": { "ignore": [ "\\.(idea|git)", "config\\.json", "[AZ]", "md$" ] }, "makers": [ // There is some auto-generated settings, I didn't changed it. // So I skip those configs. ], "plugins": [ [ "@electron-forge/plugin-webpack", { "mainConfig": "./webpack.main.config.js", "renderer": { "config": "./webpack.renderer.config.js", "entryPoints": [ { "html": "./src/index.html", "js": "./src/renderer.ts", "name": "main_window" } ] } } ] ] } } }Resolver : reinicio el proyecto. Tal vez me perdí algunas dependencias. Estoy copiando de la plantilla, por lo que el error puede ocurrir como se esperaba.
ejecute npm install o yarn dentro del proyecto, para instalar las dependencias del proyecto
Tuve el mismo problema que se resolvió después de verificar y corregir las versiones instaladas.
Ejecute npm ls webpack para mostrar las dependencias de pares que faltan. Esto lo ayudará a determinar la versión correcta requerida en su aplicación.
Cambie a la versión requerida, guarde el archivo package.json.
Elimine tanto package-lock.json como la carpeta node_modules .
Ejecute npm install .
Vuelva a ejecutar el script.
Tuve este mismo problema y parecía ser unproblema de compatibilidad con npm7 y plugin-webpack .
Hay algunas soluciones, pero la más fácil para mí fue simplemente usar yarn en lugar de npm .
node_modules/package-lock.jsonyarn installyarn startEsto funcionó para mí, ¡avísame si esto ayuda!
Mi solución fue eliminar node_modules y package-lock.json y luego ejecutar
npm install --legacy-peer-depsHay un problema con las versiones muy modernas de npm y esto le brinda las reglas de instalación heredadas que parecen funcionar
se debe a la falta de coincidencia de las versiones de su paquete web, simplemente verifique el paquete web de la lista npm, podrá ver algo así como dependencias no satisfechas. Simplemente cree dependencias de pares y agregue el paquete web o puede eliminar el paquete web usted mismo. ser menos de 9. ver la magia :)