2016-02-28 13 views
7

Ich versuche, meine App Elektron-Packager und diesen Befehl zu verpacken:Electron-Verpacker: kann nicht finden, Modul

electron-packager . FooBar --platform=darwin --arch=x64 --version=0.36.9 

(Ich verwende MacOSX) die App erstellt, aber wenn ich es benutze ich ein Pop-up zeigt dies:

abgefangene Ausnahme:

Error: Cannot find module '/Users/myUser/myApp/FooBar-darwin-x64/FooBar.app/Contents/Resources/app/app:/host/menu.html' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:289:25) 
    at Object.<anonymous> (/Users/myUser/myApp/FooBar-darwin-x64/FooBar.app/Contents/Resources/atom.asar/browser/lib/init.js:158:8) 
    at Module._compile (module.js:425:26) 
    at Object.Module._extensions..js (module.js:432:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:313:12) 
    at Function.Module.runMain (module.js:457:10) 
    at startup (node.js:151:18) 
    at node.js:1007:3 

in diesen Ordner: "/Users/myUser/myApp/FooBar-darwin-x64/FooBar.app/Contents/Resources/app" gibt es Der Eintrag zeigt HTML-Datei "menu.html", aber es se ems Elektron kann es nicht finden ...

das ist mein app.js:

var app = require('app'); // Module to control application life. 
var BrowserWindow = require('browser-window'); // Module to create native browser window. 

var mainWindow = null; 


// This method will be called when Electron has done everything 
// initialization and ready for creating browser windows. 
app.on('ready', function() { 

    // Create the browser window. 
    mainWindow = new BrowserWindow({width: 1024, height: 768}); 

    // and load the index.html of the app. 
    mainWindow.loadUrl('file://' + __dirname + '/menu.html'); 

    mainWindow.openDevTools({detach: true}); 

    // Emitted when the window is closed. 
    mainWindow.on('closed', function() { 
    mainWindow = null; 
    }); 

}); 

Haben Sie Ideen, was das Problem sein könnte?

Vielen Dank.

Antwort

10

Zwei Dinge, die Sie ausprobieren können:

  • alle Knotenmodule, die Sie auf Produktion Build laufen in dependencies in package.json hinzugefügt Stellen Sie sicher brauchen. ZB: npm install <module_name> --save
  • Wie es funktioniert, wenn --asar = false (Mehr Infos unter https://github.com/electron-userland/electron-packager)
+0

Danke, es gab einen Fehler in package.json Datei – navy1978

+0

Ich habe meine 'devDependencies' in' Abhängigkeiten' umgewandelt und es scheint zu funktionieren! –

0

Für mich war das Problem, dass die Modulabhängigkeiten in "devDependencies" aufgeführt wurden in package.json

Das Verschieben in "Abhängigkeiten" und das Ausführen der npm-Installation haben das Problem behoben.