Как исправить ошибку "Не удается открыть файл включение: napi.h: No such file or directory" при сборке Node.js аддона?
Я пытаюсь создать аддон для Node.js (просто hello world пытаюсь вывести) с использованием NAPI на Windows. Я следовал стандартным инструкциям, но при сборке получаю следующую ошибку :
> C:\Users\79832\my-addon\src\addon.cpp(2,10): error C1083: Не удается
> открыть файл включение: napi.h: No such file or di rectory,
> [C:\Users\79832\my-addon\build\addon.vcxproj] gyp ERR! build error gyp
> ERR! stack Error: `C:\Program Files\Microsoft Visual
> Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe` failed with
> exit code: 1 gyp ERR! stack at ChildProcess.<anonymous>
> (C:\Users\79832\AppData\Roaming\npm\node_modules\node-gyp\lib\build.js:216:23)
> gyp ERR! stack at ChildProcess.emit (node:events:519:28) gyp ERR!
> stack at ChildProcess._handle.onexit
> (node:internal/child_process:294:12) gyp ERR! System Windows_NT
> 10.0.19045 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\79832\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js"
> "build" gyp ERR! cwd C:\Users\79832\my-addon gyp ERR! node -v v20.16.0
> gyp ERR! node-gyp -v v10.2.0 gyp ERR! not ok
binding.gyp:
{
"targets": [
{
"target_name": "addon",
"sources": [ "src/addon.cpp" ],
"include_dirs": [
"<!(node -p \"require('node-addon-api').include\")"
],
"dependencies": [
"<!(node -p \"require('node-addon-api').gyp\")"
]
}
]
}
addon.cpp:
#include <node_api.h>
#include <napi.h>
Napi::String HelloWorld(const Napi::CallbackInfo& info) {
Napi::Env env = info.Env();
return Napi::String::New(env, "Hello, world!");
}
Napi::Object Init(Napi::Env env, Napi::Object exports) {
exports.Set(Napi::String::New(env, "hello"), Napi::Function::New(env, HelloWorld));
return exports;
}
NODE_API_MODULE(addon, Init)