0

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

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 正确构建我的模块?

4

1 回答 1

0

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

我改变了这个:

#include<node/node.h>

对此:

#include<node.h>
于 2021-11-25T21:54:03.807 回答