在部署electron自動升級的過程中遇到如下報錯:
[1] [17:52:26.480] [error] Error: Error: sha512 checksum mismatch, expected cNmnWyJkFdrfCWiKZdhGsZ3xpxXDkZA9ivGyMGE4mFUeWhGZDFCy/2A3IINrMQyANRVVex67d8mugKgZLolpDw==, got vXvoqPfShyLLeqrCPHjlT/agAxh9a7mA9+haeDcas8vCZitGWIh00Xkbxpu3wjnrNIweScauE2AIyxN7MMYNMA==
[1] at newError (webpack:///./node_modules/builder-util-runtime/out/index.js?:212:17)
[1] at DigestTransform.validate (webpack:///./node_modules/builder-util-runtime/out/httpExecutor.js?:425:35)
[1] at DigestTransform._flush (webpack:///./node_modules/builder-util-runtime/out/httpExecutor.js?:409:14)
[1] at DigestTransform.prefinish (_stream_transform.js:140:10)
其實,安裝包已經下載到緩存目錄了,只是electron-updater在進行哈希和校驗的時候,發現服務器配置文件的哈希值和實際安裝包的哈希值不一致。解決這個問題有三個坑,我都踩了一遍,着實幸運。所以,如果你也遇到這個問題可以從這三個方面入手。
一、升級服務器地址是否正確。因爲本人部署了本地服務器地址和線上服務器地址,一開始怎麼都不成功,原來是把升級包部署在了線上升級服務器上,但是配置文件中指定的還是本地升級服務器地址。
二、可以考慮將緩存目錄中的升級安裝包清理掉。有時候可能存在緩存目錄文件被佔用的情況,導致真正的安裝包不能正確下載。這樣就會一直死循環在下載-校驗失敗-下載這個過程中。
三、如果確定不是前兩個問題,同時確定下載的安裝包就是自己希望的升級包。那麼可以根據錯誤提示修改升級服務器配置文件中的哈希和。這樣就是跳過這個錯誤,正常的話就可以順利升級成功了。
如果跳過了這個錯誤,但還是沒有升級成功,可以繼續關注我其他的文章。今天主要討論這個問題,其他問題的話也歡迎留言,希望幫到大家。