joeferner / node-java

Bridge API to connect with existing Java APIs.
MIT License
1.87k stars 279 forks source link

node-java installation error: `No member named 'AccessorSignature' in namespace 'v8'` - Node 20.9.0 #580

Open RonaldThomasAlex opened 10 months ago

RonaldThomasAlex commented 10 months ago

Error when installing node-java npm install java

My setting:

MacBook Pro M1 Mac os 13.1 (22C65) node -v v20.9.0 node-gyp -v v9.4.0 When I try to install java using $ npm install java

I obtain the following errors:

npm ERR! In file included from ../node_modules/nan/nan.h:176:
npm ERR! ../node_modules/nan/nan_callbacks.h:55:23: error: no member named 'AccessorSignature' in namespace 'v8'
npm ERR! typedef v8::Local<v8::AccessorSignature> Sig;
npm ERR!                   ~~~~^
npm ERR! In file included from ../src/java.cpp:1:
npm ERR! In file included from ../src/java.h:9:
npm ERR! ../node_modules/nan/nan.h:682:39: warning: 'IdleNotificationDeadline' is deprecated: Use MemoryPressureNotification() to influence the GC schedule. [-Wdeprecated-declarations]
npm ERR!     return v8::Isolate::GetCurrent()->IdleNotificationDeadline(
npm ERR!                                       ^
npm ERR! /Users/ronaldthomas/Library/Caches/node-gyp/20.9.0/include/node/v8-isolate.h:1291:3: note: 'IdleNotificationDeadline' has been explicitly marked deprecated here
npm ERR!   V8_DEPRECATE_SOON(
npm ERR!   ^
npm ERR! /Users/ronaldthomas/Library/Caches/node-gyp/20.9.0/include/node/v8config.h:550:39: note: expanded from macro 'V8_DEPRECATE_SOON'
npm ERR! # define V8_DEPRECATE_SOON(message) [[deprecated(message)]]
npm ERR!                                       ^
npm ERR! In file included from ../src/java.cpp:1:
npm ERR! In file included from ../src/java.h:9:
npm ERR! ../node_modules/nan/nan.h:2535:8: error: no matching member function for call to 'SetAccessor'
npm ERR!   tpl->SetAccessor(
npm ERR!   ~~~~~^~~~~~~~~~~
npm ERR! /Users/ronaldthomas/Library/Caches/node-gyp/20.9.0/include/node/v8-template.h:816:8: note: candidate function not viable: no known conversion from 'imp::Sig' (aka 'int') to 'v8::SideEffectType' for 7th argument
npm ERR!   void SetAccessor(
npm ERR!        ^
npm ERR! /Users/ronaldthomas/Library/Caches/node-gyp/20.9.0/include/node/v8-template.h:809:8: note: candidate function not viable: no known conversion from 'imp::NativeGetter' (aka 'void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value> &)') to 'v8::AccessorGetterCallback' (aka 'void (*)(Local<v8::String>, const PropertyCallbackInfo<v8::Value> &)') for 2nd argument
npm ERR!   void SetAccessor(
npm ERR!        ^
npm ERR! 1 warning and 2 errors generated.
npm ERR! make: *** [Release/obj.target/nodejavabridge_bindings/src/java.o] Error 1
npm ERR! gyp ERR! build error 
npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
npm ERR! gyp ERR! stack     at ChildProcess.onExit (/Users/ronaldthomas/Documents/Repository/core-ngui/web-platform/node_modules/node-gyp/lib/build.js:203:23)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:514:28)
npm ERR! gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:294:12)
npm ERR! gyp ERR! System Darwin 22.2.0
npm ERR! gyp ERR! command "/Users/ronaldthomas/.nvm/versions/node/v20.9.0/bin/node" "/Users/ronaldthomas/Documents/Repository/core-ngui/web-platform/node_modules/.bin/node-gyp" "rebuild"
npm ERR! gyp ERR! cwd /Users/ronaldthomas/Documents/Repository/core-ngui/web-platform/node_modules/java
npm ERR! gyp ERR! node -v v20.9.0
npm ERR! gyp ERR! node-gyp -v v9.4.0
npm ERR! gyp ERR! not ok

Anyone had the same issue?

RonaldThomasAlex commented 10 months ago

A similar ticket was found https://github.com/joeferner/node-java/issues/564 Any resolution for node 20.9.0 ?