web-dev-qa-db-fra.com

electron-rebuild "Impossible de trouver l'application Electron ..."

Après avoir installé un module natif via npm pour une utilisation avec Electron (atom Shell), j'essaie d'exécuter la reconstruction d'électrons:

>>./node_modules/.bin/electron-rebuild

à partir du répertoire du projet, b "~/project_js/React-Redux-Py-Electron /" (qui contient node_modules /). Mais je reçois ce message d'erreur:

>>Unable to find Electron app at ~/project_js/React-Redux-Py-Electron/console.log(process.versions.modules)

Utilisation de versions:

node v6.2.0, 
npm 3.8.9, 
electron-prebuilt 1.2.0, 
electron-rebuild 1.1.4, 

qui je pense sont les dernières. À un moment donné, peut-être avant certaines mises à niveau de version, cela a fonctionné.

Quelqu'un peut-il expliquer et suggérer une solution? Merci.

27
SteveB

Vérifiez si votre package.json a la clé "principale". Voici main.js est votre fichier JS de configuration d'électrons.

{
  "name": "appname",
  "version": "0.0.0",
  "license": "MIT",
  "main": "main.js"
}
75
Abraham Jagadeesh

Le nom du fichier du point d'entrée et package.json le nom du fichier principal doit être le même. Considérez que le nom de votre fichier de point d'entrée est app.js puis package.json ressemble à

{
  "name": "myelectron",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "electron ."
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "electron": "^2.0.3"
  }
}
9
Mr. Ratnadeep

Pour moi, il lançait cette erreur en raison de l'absence de package.json fichier dans le dossier que j'exécutais la commande electron. Assurez-vous que le dossier se compose de fichiers nommés

  1. main.js
  2. index.html
  3. package.json

et définissez les variables electron, app et BrowserWindow dans main.js sont comme

               const electron = require('electron');             
               const {app, BrowserWindow} = electron;  
8
Penkey Suresh

pour moi, le problème est dû à une incohérence avec le nom lors de l'exécution de la commande Electron.

Assurez-vous que le nom de fichier fourni pour l'exécution doit être le même que celui fourni dans l'entrée main dans package.json, par ex. sous Mac OS /Applications/Electron.app/Contents/MacOS/Electron hello-world correspond à hello-world.js in main package.json

{
  "name": "first_electron_app",
  "version": "0.0.1",
  "main": "hello-world.js",
  "dependencies": {    
  }
}
2
pg2286

Assurez-vous d'avoir défini un point d'entrée pour l'application. en général, c'est toujours un index.js ou main.js. Vous devez spécifier dans package.json comme point d'entrée d'application. Dans ce cas, l'électron a besoin du point d'entrée et il n'a pas trouvé de package.json et impossible de démarrer le main process. Pour y remédier, vous pouvez ajouter la propriété main en tant que propriété racine dans package.json comme indiqué ci-dessous,

{
  "name": "YOUR_APP_NAME",
  "version": "1.0.0",
  "main": "main.js"
}

Une autre chose importante est de vérifier une fois les dépendances en exécutant la commande npm list --depth=0 et confirmez que electron est là.

0
Kiran Maniya