electron-rebuild“无法找到Electron应用程序...”

sqyvllje  于 2023-03-27  发布在  Electron
关注(0)|答案(6)|浏览(439)

在通过npm安装了一个用于Electron(atom shell)的本机模块后,我尝试运行electron-rebuild:

>>./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,

我相信都是最新的。曾经,也许在一些版本升级之前,这是有效的。
有谁能解释一下并提出解决办法吗?谢谢。

bjg7j2ky

bjg7j2ky1#

检查你的package.json是否有“main”键。这里的main.js是你的Electron配置JS文件。

{
  "name": "appname",
  "version": "0.0.0",
  "license": "MIT",
  "main": "main.js"
}
aor9mmx1

aor9mmx12#

入口点文件名和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"
  }
}
hrirmatl

hrirmatl3#

对我来说,它抛出此错误,因为在我运行electron命令的文件夹中缺少package.json文件。请确保该文件夹包含名为

  1. main.js
  2. index.html
  3. package.json
    并将main.js中的变量electronappBrowserWindow定义为
const electron = require('electron');             
               const {app, BrowserWindow} = electron;
am46iovg

am46iovg4#

请确保您定义了应用程序的入口点。通常,它总是index.jsmain.js。您需要在package.json中指定应用程序的入口点。在这种情况下,发生的情况是,electron需要入口点,但它没有从package.json中找到,无法启动main process。要修复它,您可以添加main属性作为package.json中的根属性,如下所示:

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

另一件重要的事情是,只需运行npm list --depth=0命令检查一次依赖关系,并确认electron存在。

gdrx4gfi

gdrx4gfi5#

对我来说,这个问题是由于运行Electron命令时与名称不一致造成的。
确保为运行提供的文件名应与package.json中main条目中提供的文件名相同,例如在Mac OS上/Applications/Electron.app/Contents/MacOS/Electron hello-worldmainpackage.json中的hello-world.js匹配

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

lyfkaqu16#

npm run build && npm start帮我修好了

相关问题