Windows 下的 electron 編譯常見問題


Windows系統編譯

下載安裝:
node v9.8.0
yarn-1.9.4
安裝windows編譯工具

npm install --global windows-build-tools

安裝項目依賴

yarn install

開始編譯,打包

npm run build
npm run release-win

常見錯誤

iojs.lib : fatal error LNK1106

c:\users\surou\desktop\scatterdesktop\node_modules\keccak\src\libkeccak\KeccakSponge.h : warning C4819: ���ļ����������ڵ�ǰ����ҳ(936)�б�ʾ���ַ����뽫���ļ�����Ϊ Unicode ��ʽ�Է�ֹ���ݶ�ʧ (����Դ�ļ� ..\src\libkeccak\KeccakSponge.c) [C:\Users\Surou\Desktop\ScatterDesktop\node_modules\keccak\build\keccak.vcxproj]
C:\Users\Surou\.electron-gyp\.node-gyp\iojs-2.0.11\x64\iojs.lib : fatal error LNK1106: �ļ���Ч���������: �޷����ҵ� 0x29851C [C:\Users\Surou\Desktop\ScatterDesktop\node_modules\keccak\build\keccak.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Users\Surou\Desktop\ScatterDesktop\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:180:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:12)
gyp ERR! System Windows_NT 10.0.16299
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Surou\\Desktop\\ScatterDesktop\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=2.0.11" "--arch=x64" "--dist-url=https://atom.io/download/electron" "--build-from-source"
gyp ERR! cwd C:\Users\Surou\Desktop\ScatterDesktop\node_modules\keccak
gyp ERR! node -v v9.8.0
gyp ERR! node-gyp -v v3.8.0

解決方案:刪除 C:\Users\Surou\.electron-gyp
參考:https://github.com/electron/electron-rebuild/issues/163
app-builder.exe exited with code 1

Error: C:\Users\Surou\Desktop\ScatterDesktop\node_modules\app-builder-bin\win\x64\app-builder.exe exited with code 1
  at ChildProcess.childProcess.once.code (C:\Users\Surou\Desktop\ScatterDesktop\node_modules\builder-util\src\util.ts:254:14)
  at Object.onceWrapper (events.js:272:13)
  at ChildProcess.emit (events.js:180:13)
  at maybeClose (internal/child_process.js:936:16)
  at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)

解決方案:刪除node_modules,重新yarn install
參考:https://github.com/electron-userland/electron-builder/issues/2002
.bin\babylon: Error: ENOENT: no such file or directory

Cannot read file C:\Users\Surou\Desktop\ScatterDesktop\node_modules\babylon\.bin\babylon: Error: ENOENT: no such file or directory, open 'C:\Users\Surou\Desktop\ScatterDesktop\node_modules\babylon\.bin\babylon'
  at w (C:\Users\Surou\Desktop\ScatterDesktop\node_modules\app-builder-lib\src\asar\asarUtil.ts:201:11)
  at writeStream.write (C:\Users\Surou\Desktop\ScatterDesktop\node_modules\app-builder-lib\src\asar\asarUtil.ts:203:43)
  at afterWrite (_stream_writable.js:473:3)
  at onwrite (_stream_writable.js:464:7)
  at fs.write (fs.js:2252:5)-win: `electron-builder --win`
  at FSReqWrap.wrapper [as oncomplete] (fs.js:707:5)

解決方案:安裝yarn-1.9.4版本
參考:https://github.com/GetScatter/ScatterDesktop/issues/165
編譯完,運行,界面空白
經過反編譯app.asar,發現缺少dist
解決方案:先運行npm run build,在運行npm run release-win

其他

反編譯asar

npm install -g asar
asar extract app.asar ./

關聯

https://www.bcskill.com/index.php/archives/476.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM