【问题标题】:electron-rebuild doesn't use correct NODE_MODULE_VERSION电子重建没有使用正确的 NODE_MODULE_VERSION
【发布时间】:2022-01-03 10:12:23
【问题描述】:

我正在尝试使用版本 13.4.0 和 Node 版本 v14.16.0 的电子安装。但是,当我在我的文件上运行 electron-rebuild 时,它会为 NODE_MODULE_VERSION 构建 83(由节点 14 使用)而不是所需的 89(由电子使用)。以下是一些相关文件:

binding.gyp:

{
    "targets": [
        {
            "target_name": "tuxphones",
            "sources": ["main.cpp"],
            "cflags_cc": [
                "-std=c++17"
            ],
            "libraries": [
                "-lopus",
                "-lpulse"
            ]
        }
    ]
}

Dockerfile:

FROM node:14-buster-slim

RUN apt-get update
RUN apt-get install -y python3 make libpulse-dev libopus-dev g++

RUN mkdir /build
WORKDIR /build
COPY package.json /build/

RUN npm install
COPY ./native/ /build/
RUN ./node_modules/.bin/electron-rebuild

package.json:

{
  "name": "tuxphones",
  "version": "1.0.0",
  "description": "",
  "main": "Tuxphones.plugin.js",
  "scripts": {
    "rebuild": "electron-rebuild -f",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "devDependencies": {
    "electron": "^13.4.0",
    "electron-rebuild": "^3.2.5"
  },
  "author": "ImTheSquid",
  "license": "MIT"
}

我应该如何解决这个问题,以便我可以针对模块版本 89 正确构建我的模块?

【问题讨论】:

    标签: node.js electron electron-rebuild


    【解决方案1】:

    原来我的 C++ 文件中的 #include 语句包含了系统的 Node 库,而不是 Electron 的特定库。

    我改变了这个:

    #include<node/node.h>
    

    到这里:

    #include<node.h>
    

    【讨论】:

      猜你喜欢
      • 2019-12-10
      • 1970-01-01
      • 1970-01-01
      • 2020-11-16
      • 2022-01-08
      • 2021-03-23
      • 1970-01-01
      • 2020-02-26
      • 1970-01-01
      相关资源
      最近更新 更多