初用Electron笔记

最近刚刚接触到Electron,在github上下载了quick-start例程,由于需要对win32底层库进行操作,查找资料后了解到需要安装ffi,于是开始了痛苦的填坑经历。

先总结:

  1. node 使用 v10.15.3,用 v12.0.0安装 ffi 失败
  2. Electron 使用 v4.1.5 ,用 v5.0.0 执行 rebuild 时失败
  3. 中间遇到 compiled against a different Node.js version using NODE_MODULE_VERSION 64. This version of Node.js requires NODE_MODULE_VERSION 69 的问题,在使用上面两条里提到的版本后,执行 
    .\node_modules\.bin\electron-rebuild.cmd ,解决

 

具体过程

  1. github上下载Electron-quick-start
    进入工作目录
    git clone https://github.com/electron/electron-quick-start
    cd electron-quick-start
    npm install
    npm start


    初次启动测试成功

  2. 安装 ffi
     

    npm install --save--dev electron-rebuild
    npm install ffi

     

    gyp ERR! build error
    gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
    gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:262:23)
    gyp ERR! stack     at ChildProcess.emit (events.js:196:13)
    gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:256:12)
    gyp ERR! System Windows_NT 10.0.17134
    gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
    gyp ERR! cwd E:\Coding\Electron\electron-quick-start\node_modules\ref
    gyp ERR! node -v v12.0.0
    gyp ERR! node-gyp -v v3.8.0
    gyp ERR! not ok
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! ref@1.3.5 install: `node-gyp rebuild`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the ref@1.3.5 install script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     C:\Users\40093\AppData\Roaming\npm-cache\_logs\2019-04-30T08_15_29_152Z-debug.log

    各种查资料,都不成功,最后发现,node用的是最新版 v12.0.0的,换回v10.15.3就可以了

  3. 重新编译
    又是一片红

    .\node_modules\.bin\electron-rebuild.cmd

     

    gyp ERR! build error
    gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
    gyp ERR! stack     at ChildProcess.onExit (E:\Coding\Electron\electron-quick-start\node_modules\node-gyp\lib\build.js:262:23)
    gyp ERR! stack     at ChildProcess.emit (events.js:189:13)
    gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
    gyp ERR! System Windows_NT 10.0.17134
    gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "E:\\Coding\\Electron\\electron-quick-start\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=5.0.0" "--arch=x64" "--dist-url=https://atom.io/download/electron" "--build-from-source"
    gyp ERR! cwd E:\Coding\Electron\electron-quick-start\node_modules\ffi
    gyp ERR! node -v v10.15.3
    gyp ERR! node-gyp -v v3.8.0
    gyp ERR! not ok
    
    Failed with exit code: 1
        at SafeSubscriber._error (E:\Coding\Electron\electron-quick-start\node_modules\spawn-rx\lib\src\index.js:267:84)
        at SafeSubscriber.__tryOrUnsub (E:\Coding\Electron\electron-quick-start\node_modules\rxjs\internal\Subscriber.js:205:16)
        at SafeSubscriber.error (E:\Coding\Electron\electron-quick-start\node_modules\rxjs\internal\Subscriber.js:156:26)
        at Subscriber._error (E:\Coding\Electron\electron-quick-start\node_modules\rxjs\internal\Subscriber.js:92:26)
        at Subscriber.error (E:\Coding\Electron\electron-quick-start\node_modules\rxjs\internal\Subscriber.js:72:18)
        at MapSubscriber.Subscriber._error (E:\Coding\Electron\electron-quick-start\node_modules\rxjs\internal\Subscriber.js:92:26)
        at MapSubscriber.Subscriber.error (E:\Coding\Electron\electron-quick-start\node_modules\rxjs\internal\Subscriber.js:72:18)
        at SafeSubscriber._next (E:\Coding\Electron\electron-quick-start\node_modules\spawn-rx\lib\src\index.js:242:65)
        at SafeSubscriber.__tryOrUnsub (E:\Coding\Electron\electron-quick-start\node_modules\rxjs\internal\Subscriber.js:205:16)
        at SafeSubscriber.next (E:\Coding\Electron\electron-quick-start\node_modules\rxjs\internal\Subscriber.js:143:22)

     

  4.  

    安装ref

    同样错误

     

    npm install ref

     

  5.  

    将electron版本改为 v4.1.5

    重新执行上面步骤,成功,执行

    npm start

     

     

  6. 在main.js中加上 const ffi = require('ffi'),依然成功运行,证明环境已配置成功
     

    const ffi = require('ffi')

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值