代码之家  ›  专栏  ›  技术社区  ›  Luke Bayes

电子是根据一个不同的节点.js版本

  •  1
  • Luke Bayes  · 技术社区  · 4 年前

    我正在构建一个预计在Ubuntu 20.xx Linux和Raspberry Pi(运行Raspbian和arch=armv7l)上运行的Electron应用程序,收到以下错误:

    ...was compiled against a different Node.js version using NODE_MODULE_VERSION 72.
    This version of Node.js requires NODE_MODULE_VERSION 82. 
    

    我通常在本地将node安装到给定的项目中,这样就可以将node和npm的版本锁定到项目所需的任何版本,而不必太费事。

    电子 Native Module Documentation 指示我应该运行 electron-rebuild 获取此版本错误后。

    不幸的是,这对我来说有两个问题:

    1. 如果我跑了 npm rebuild ,下一轮 电子重建 成功退出而不重建任何内容(可能是由于缓存命中无效)。

    rm -rf node_modules
    npm install
    electron-rebuild
    

    在调查这个错误时我学到了一些东西:

    Launching Electron with:
    {
      node: '12.16.3',
      v8: '8.5.210.26-electron.0',
      uv: '1.34.2',
      zlib: '1.2.11',
      brotli: '1.0.7',
      ares: '1.16.0',
      modules: '82',
      nghttp2: '1.41.0',
      napi: '5',
      llhttp: '2.0.4',
      http_parser: '2.9.3',
      openssl: '1.1.0',
      icu: '67.1',
      unicode: '13.0',
      electron: '10.1.5',
      chrome: '85.0.4183.121'
    }
    

    啊,但是怎么做?

    更新:

    FWIW,node hid已经为node/Electron的更新版本重写,所以我现在运行Electron v11.0.3和node hid v2.0.0-0。

    0 回复  |  直到 4 年前
        1
  •  1
  •   Luke Bayes    4 年前

    多亏了我的一些建议 Mark Lee electron node (无需启动完整的GUI体验)。

    electron-mocha .

    npm install --save-dev electron-mocha electron-rebuild

    不幸的是,电子摩卡包装似乎不支持摩卡的“手表”功能,但我通过使用 when-changed ( link