2016-02-29 68 views
1

我使用Electron基於現有代碼(使用Electron v0.26.1開發)構建原生應用程序。我想使用更新版本的Electron上提供的功能,所以我將package.json中的版本號更改爲v0.36.9(迄今爲止最新的版本),並重新安裝了它的依賴項。現在電子應用程序的基本調試

,我完全運行npm start時,實際上它的預期的一個應用突破,但沒想到該錯誤信息是如此無信息:

Error opening app 
The app provided is not a valid Electron app, please read the docs on how to write one: 
https://github.com/atom/electron/tree/v0.36.9/docs 

Error: Cannot find module '/home/user/electron/myapp/build' 

我想它是否會升值說爲什麼它不再是一個有效的電子應用程序,給任何形式的堆棧跟蹤或文件導致問題。

運行npm start確實創建了一個像以前一樣的build目錄,其中包含幾個文件,就像升級之前一樣。從措辭的方式,我不知道Cannot find module消息是原因的錯誤,或後果。如果是這個原因,我不知道是誰或者什麼需要這樣的模塊,因爲在升級之前這從來沒有發生過。

我嘗試「標準」的調試技術,就像跑npm start --debug(標誌存在,但沒有用在這種情況下),npm rebuild,閱讀電子常見問題解答,尋找任何*.log文件(被發現無),並期待出現require('build')或類似情況(沒有這種情況)。沒什麼幫助。

我怎麼能得到任何有關爲什麼這是失敗的信息?我所知道的每一種編程語言/編譯系統都至少會輸出發生錯誤的源文件以及可能的更多信息。

+0

嘗試'npm重建'。新版本可能正在運行不同版本的節點,並且必須重新編譯所有本地依賴項。我可以同情缺乏信息錯誤信息。 – ccnokes

+0

我忘了提及我已經嘗試過'npm rebuild',甚至擦除'build'目錄並重新開始,仍然是同樣的錯誤。 – anol

+0

這是我最好的猜測。它在構建文件夾中尋找東西的事實對我來說似乎很陌生。 – ccnokes

回答

1

在你的應用程序的package.json有可能是這樣的:

"scripts": { 
    "start": "electron /home/user/electron/myapp/build" 
} 

這就是當你運行npm start將要執行的命令,所以固定在那裏的路徑指向.js文件,其中包含您的應用程序入口點。

+0

這個問題實際上與您的建議無關,但確實在'package.json'中,所以建議仔細查看該文件。我仍然在尋找關於如何調試它的一般信息。 – anol

0

好了,在這裏和那裏平分的變化,並按照瓦迪姆Macagon的意見,進一步考慮package.json後,我發現了以下變化負責的徹底失敗:

  • 更改"fs-jetpack": "^0.6.4""fs-jetpack": "^0.7.1"

現在,不幸的是我還根本不知道有關爲什麼發生這種情況,或如何我本來可能發現它除了在這裏和那裏盲目改變設置。

這不是我的問題的答案(我仍然喜歡有關如何調試Electron應用程序以避免將來出現類似問題的有用信息),但它確實可以讓我繼續工作。也就是說,如果我決定繼續使用Electron,我不確定這是個好主意。

編輯:在Github上至少有一個related issue,但它已關閉,問題尚未解決。