web-dev-qa-db-ja.com

electron-rebuild「Electronアプリが見つかりません...」

Electron(atom Shell)で使用するためにnpm経由でネイティブモジュールをインストールした後、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, 

私はそれがすべて最新だと信じています。一時的に、おそらくいくつかのバージョンのアップグレードの前に、これは機能しました。

誰でも修正を説明して提案できますか?ありがとう。

27
SteveB

Package.jsonに「メイン」キーがあるかどうかを確認します。ここで、main.jsはElectron Configuration JSファイルです。

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

エントリポイントファイル名と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"
  }
}
9
Mr. Ratnadeep

私にとっては、electronコマンドを実行していたフォルダーにpackage.jsonファイルがないため、このエラーがスローされていました。フォルダーが次の名前のファイルで構成されていることを確認してください

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

main.jsの変数electronapp、およびBrowserWindowを定義します

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

私にとっては、Electronコマンドを実行したときの名前との不一致が原因で問題が発生しました。

実行用に提供されるファイル名は、package.jsonのmainエントリで提供されるファイル名と同じにする必要があります。 Mac OSでは/Applications/Electron.app/Contents/MacOS/Electron hello-worldmain package.jsonのhello-world.jsと一致します

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

アプリケーションのエントリポイントを定義したことを確認してください。通常、常にindex.jsまたはmain.jsです。 package.jsonでアプリケーションのエントリポイントとして指定する必要があります。この場合、電子はエントリポイントを必要としますが、package.jsonから見つからず、main processを開始できませんでした。修正するには、以下に示すようにpackage.jsonのルートプロパティとしてmainプロパティを追加できます。

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

別の重要なことは、コマンドnpm list --depth=0を実行して依存関係を一度確認し、electronが存在することを確認することです。

0
Kiran Maniya