2017-06-28 1 views
0

ich Electron Version 1.6.11 vor kurzem aktualisiert und jetzt, wenn ich meine npm start Befehl ausführen, bekomme ich folgende Fehlermeldung:Warum ist crashReporter in Electron nicht definiert?

enter image description here

Die Spitze meiner main.js Datei sieht wie folgt aus:

const {app, BrowserWindow, ipcMain, crashReporter} = require('electron'); 
const path = require('path'); 

crashReporter.start({ 
    productName: 'MyCo', 
    companyName: 'MyCo, Inc.', 
    submitURL: 'https://myco.co/fake-url-to-submit', 
    uploadToServer: true 
}); 

app.on('window-all-closed', function() { 
    if (process.platform != 'darwin') { 
    app.quit(); 
    } 
}); 

Hier sind die Inhalte meiner package.json Datei:

{ 
    "name": "MyApp", 
    "productName": "MyApp", 
    "version": "0.0.1", 
    "main": "main.js", 
    "repository": "https://github.com/zackshapiro/myApp", 
    "devDependencies": { 
    "babel-core": "^6.7.2", 
    "babel-eslint": "^7.1.1", 
    "babel-loader": "^6.2.4", 
    "babel-preset-es2015": "^6.3.13", 
    "babel-preset-react": "^6.3.13", 
    "babel-preset-stage-3": "^6.17.0", 
    "css-loader": "^0.23.1", 
    "electron": "^1.6.11", 
    "electron-packager": "^8.7.1", 
    "electron-rebuild": "^1.1.3", 
    "eslint": "^3.13.1", 
    "eslint-loader": "^1.6.1", 
    "eslint-plugin-react": "^6.9.0", 
    "file-loader": "^0.10.1", 
    "node-libs-browser": "^1.0.0", 
    "node-sass": "^4.2.0", 
    "sass-loader": "^4.1.1", 
    "style-loader": "^0.13.0", 
    "webpack": "^2.6.1", 
    "webpack-dev-server": "^2.4.4" 
    }, 
    "scripts": { 
    "start": "./node_modules/electron-prebuilt/dist/Electron.app/Contents/MacOS/Electron .", 
    "watch": "./node_modules/.bin/webpack-dev-server", 
    "electron-rebuild": "./node_modules/.bin/electron-rebuild" 
    }, 
    "dependencies": { 
    "babel-polyfill": "^6.22.0", 
    "electron-context-menu": "^0.8.0", 
    "electron-prebuilt": "^0.37.2", 
    "gl-react": "^2.2.9", 
    "gl-react-hue-rotate": "^1.1.0", 
    "isomorphic-fetch": "^2.2.1", 
    "rc-slider": "^6.1.0", 
    "react": "15.4.2", 
    "react-dnd": "^2.2.4", 
    "react-dnd-html5-backend": "^2.2.4", 
    "react-dom": "15.4.2", 
    "react-redux": "^5.0.2", 
    "react-router": "^4.1.1", 
    "react-router-dom": "^4.1.1", 
    "react-router-redux": "^5.0.0-alpha.6", 
    "redux": "^3.6.0", 
    "redux-saga": "^0.14.3", 
    "tinycolor2": "^1.4.1" 
    } 
} 

Wie repariere ich das und bekomme crashReporter funktioniert?

+0

Können wir Ihre package.json sehen? – Li357

+0

Jetzt hinzufügen. 1 Sek. –

+0

Dieses GitHub-Problem scheint relavent. https://github.com/electron/electron/issues/7475 Scheint die zwei Dinge zu überprüfen sind, dass es mit 'electron' nicht nicht' node' aufgerufen wird und dass 'main, js' nur einmal aufgerufen wird –

Antwort

1

Ihr start Skript ist falsch - Sie versuchen, electron-prebuilt verwenden, die veraltet ist, aber Sie haben wahrscheinlich vergessen, es von Ihrem Computer zu deinstallieren, so dass es immer noch funktioniert. Es ist in Ihrem devDependencies aber es ist veraltet und hat sich seit 2016 mit Entfernen unterstützt:

npm uninstall --save-dev electron-prebuilt 

electron-prebuilt kommt nicht mit crashReporter so ist es nicht definiert, wenn Sie versuchen, es zu importieren.

Sie sollten die neueste electron verwenden, die Sie installiert haben, die mit crashReporter kommt. Um dies zu tun, ändern Sie das Skript (wenn Sie es lokal installiert haben):

"start": "./node_modules/.bin/electron ." 

Diese electron statt electron-prebuilt verwenden und es sollte funktionieren.

+0

Sollte ich 'electron-prebuilt' auch von' devDependencies' entfernen? –

+0

@ZackShapiro Ja. Es ist veraltet, deinstallieren Sie es. 'npm deinstallieren --save-dev electron-prebuilt'. – Li357

+0

Danke für Ihre Hilfe Andrew –