Ответ 1
Проверьте, имеет ли ваш пакет .json ключевой ключ. Здесь main.js - ваш JS файл конфигурации электрона.
{
"name": "appname",
"version": "0.0.0",
"license": "MIT",
"main": "main.js"
}
После установки собственного модуля через npm для использования с Electron (оболочка атома) я пытаюсь запустить электронное восстановление:
>>./node_modules/.bin/electron-rebuild
из каталога проекта, b "~/project_js/React-Redux-Py-Electron/" (который содержит node_modules/). Но я получаю это сообщение об ошибке:
>>Unable to find Electron app at ~/project_js/React-Redux-Py-Electron/console.log(process.versions.modules)
Использование версий:
node v6.2.0,
npm 3.8.9,
electron-prebuilt 1.2.0,
electron-rebuild 1.1.4,
которые, я считаю, все последние. В свое время, возможно, до некоторых обновлений версии, это сработало.
Может ли кто-нибудь объяснить и предложить исправить? Спасибо.
Проверьте, имеет ли ваш пакет .json ключевой ключ. Здесь main.js - ваш JS файл конфигурации электрона.
{
"name": "appname",
"version": "0.0.0",
"license": "MIT",
"main": "main.js"
}
Имя файла точки входа и имя основного файла package.json
должны совпадать. Считайте, что ваше имя файла точки входа - app.js
, тогда package.json
выглядит как
{
"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"
}
}
Для меня эта ошибка была выбрана из-за отсутствия файла package.json
в папке, в которой я запускал команду electron
. Убедитесь, что папка состоит из файлов с именем
main.js
index.html
package.json
и определить переменные electron
, app
и BrowserWindow
в main.js
равны
const electron = require('electron');
const {app, BrowserWindow} = electron;
для меня проблема возникла из-за несогласованности с именем при запуске команды Electron
.
Убедитесь, что имя файла, предоставленное для запуска, должно быть таким же, как указано в записи main в package.json, например. на Mac OS
/Applications/Electron.app/Contents/MacOS/Electron hello-world
соответствует hello-world.js
в main package.json
{
"name": "first_electron_app",
"version": "0.0.1",
"main": "hello-world.js",
"dependencies": {
}
}
Убедитесь, что вы определили точку входа для приложения. как правило, это всегда index.js
или main.js
. Вы должны указать в package.json
в качестве точки входа приложения. В этом случае электрону нужна точка входа, и она не нашла в package.json
и не может запустить main process
. Чтобы исправить это, вы можете добавить свойство main
в качестве корневого свойства в package.json, как указано ниже,
{
"name": "YOUR_APP_NAME",
"version": "1.0.0",
"main": "main.js"
}
Еще одна важная вещь: просто проверьте один раз зависимости, запустив команду npm list --depth=0
и подтвердите, что electron
есть.
npm run build && npm start
исправил это для меня