如何在电子中重建epoll包?

How to rebuild epoll package in electron?

我尝试重建一个 electron 应用程序,但我收到有关 epoll 安装的错误。

Building module: epoll, Completed: 0gyp: name 'openssl_fips' is not defined while evaluating condition 'openssl_fips != ""' in binding.gyp while trying to load binding.gyp
✖ Rebuild Failed
An unhandled error occurred inside electron-rebuild
node-gyp failed to rebuild '/home/pi/ma-0042-cihaz-be/node_modules/epoll'.
For more information, rerun with the DEBUG environment variable set to "electron-rebuild".
Error: `gyp` failed with exit code: 1
Error: node-gyp failed to rebuild '/home/pi/ma-0042-cihaz-be/node_modules/epoll'.
For more information, rerun with the DEBUG environment variable set to "electron-rebuild".
at NodeGyp.rebuildModule (/home/pi/ma-0042-cihaz-be/node_modules/electron-rebuild/lib/src/module-type/node-gyp.js:109:19)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async ModuleRebuilder.rebuildNodeGypModule (/home/pi/ma-0042-cihaz-be/node_modules/electron-rebuild/lib/src/module-rebuilder.js:94:9)
    at async Rebuilder.rebuildModuleAt (/home/pi/ma-0042-cihaz-be/node_modules/electron-rebuild/lib/src/rebuild.js:226:9)
    at async Rebuilder.rebuild (/home/pi/ma-0042-cihaz-be/node_modules/electron-rebuild/lib/src/rebuild.js:184:17)
    at async /home/pi/ma-0042-cihaz-be/node_modules/electron-rebuild/lib/src/cli.js:154:9

我用的是树莓派,我也更新了。但它没有用。 这些是安装的依赖项。

{
 
  "dependencies": {
    "@babel/preset-react": "^7.14.5",
    "bcryptjs": "^2.4.3",
    "body-parser": "^1.19.0",
    "cors": "^2.8.5",
    "dotenv": "^10.0.0",
    "express": "^4.17.1",
    "history": "^5.1.0",
    "i2c-bus": "^5.2.2",
    "jest": "^27.3.1",
    "jest-fetch-mock": "^3.0.3",
    "jsonwebtoken": "^8.5.1",
    "mfrc522-rpi": "^2.1.3",
    "moment": "^2.29.1",
    "network-config": "^3.0.0",
    "node-cron": "^3.0.0",
    "node-fetch": "^2.6.5",
    "node-wifi": "^2.0.15",
    "pi-camera": "^1.6.0",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-router-dom": "^6.0.0",
    "realm": "^10.7.0",
    "rpi-gpio": "^2.1.7",
    "rpi-softspi": "^1.0.5",
    "rpio": "^2.4.2",
    "source-map-support": "^0.5.16"
  },
  "devDependencies": {
    "@babel/core": "^7.15.5",
    "@babel/node": "^7.15.4",
    "@babel/plugin-transform-runtime": "^7.16.0",
    "@babel/preset-env": "^7.15.6",
    "babel-loader": "^8.2.2",
    "electron": "8.2.0",
    "electron-builder": "^22.11.7",
    "electron-rebuild": "^3.2.3",
    "electron-webpack": "^2.8.2",
    "enzyme": "^3.11.0",
    "enzyme-adapter-react-16": "^1.15.6",
    "enzyme-to-json": "^3.6.2",
    "webpack": "~4.42.1"
  }
}

我用 package-lock.json 删除了 node_modules 并重新安装了所有东西。我用 apt-get upgrade 更新了树莓派。我不知道如何解决这个问题。你有什么想法吗?

我也有同样的问题,但我使用的是串口而不是epoll。

所以,我认为这个问题的原因是电子模块而不是原生模块。

yarn run v1.22.15
$ electron-rebuild -f -w myapp
\ Building module: bindings, Completed: 0gyp: name 'openssl_fips' is not defined while evaluating condition 'openssl_fips != ""' in binding.gyp while trying to load binding.gyp
× Rebuild Failed

An unhandled error occurred inside electron-rebuild
node-gyp failed to rebuild 'C:\Users\node_modules\@serialport\bindings'.
For more information, rerun with the DEBUG environment variable set to "electron-rebuild".

Error: `gyp` failed with exit code: 1



Error: node-gyp failed to rebuild 'C:\Users\node_modules\@serialport\bindings'.
For more information, rerun with the DEBUG environment variable set to "electron-rebuild".

Error: `gyp` failed with exit code: 1


    at NodeGyp.rebuildModule (C:\Users\node_modules\electron-rebuild\lib\src\module-type\node-gyp.js:109:19)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async ModuleRebuilder.rebuildNodeGypModule (C:\Users\node_modules\electron-rebuild\lib\src\module-rebuilder.js:94:9)
    at async Rebuilder.rebuildModuleAt (C:\Users\node_modules\electron-rebuild\lib\src\rebuild.js:226:9)
    at async Rebuilder.rebuild (C:\Users\node_modules\electron-rebuild\lib\src\rebuild.js:184:17)
    at async C:\Users\node_modules\electron-rebuild\lib\src\cli.js:154:9
error Command failed with exit code 4294967295.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

这个问题是昨天开始的。上周没有问题。

我已经安装了 windows-build-tools, node-gyp, python 3.x.

我也设置了 npm 配置和 yarn 配置和 python 环境路径,msvs_version。

我重新安装了上面的软件包很多次,但 electron-rebuild 不起作用。

这是整个错误信息。没有更多的错误消息。

我们该怎么办?

就我而言,将 NodeJS 更新到版本 17.0.1 后,同样的问题开始了。

整个问题都在bcrypt包里,已经不符合17版的标准了

就我而言,将版本降低到 16 有所帮助。

electron-rebuild v3.2.5 发布。

更新后问题已解决!

gyp: name 'openssl_fips' is not defined while evaluating condition 'openssl_fips != ""' in binding.gyp while trying to load binding.gyp

我刚刚花了一整天时间解决这个问题。最终,这对我有用。

  • 在本地安装最新的node-gyp

    npm install -d node-gyp@latest
    
  • binding.gyp中添加(在顶部):

    {
        "variables": {
            "openssl_fips" : "0" 
        },
    
        ...      
    }