Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unabled to install under Node.js v21+ #236

Open
djipco opened this issue Nov 23, 2023 · 2 comments
Open

Unabled to install under Node.js v21+ #236

djipco opened this issue Nov 23, 2023 · 2 comments

Comments

@djipco
Copy link

djipco commented Nov 23, 2023

When I try to install the midi module on macOS 12.2.1 via npm install midi, I get an error. This seems to be specific to Node.js v21+ because it's working fine under Node.js v20.

Here's the output log:

npm ERR! code 1
npm ERR! path /Users/xxxxxx/xxxx/xxxxxxx/xxxx/xxxxxxxxxx/WebMidi/node_modules/midi
npm ERR! command failed
npm ERR! command sh -c node-gyp rebuild
npm ERR! CXX(target) Release/obj.target/midi/vendor/rtmidi/RtMidi.o
npm ERR!   CXX(target) Release/obj.target/midi/src/input.o
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | darwin | x64
npm ERR! gyp info find Python using Python version 3.7.4 found at "/Users/xxxxxx/miniconda/bin/python3"
npm ERR! gyp info spawn /Users/xxxxxx/miniconda/bin/python3
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args 'binding.gyp',
npm ERR! gyp info spawn args '-f',
npm ERR! gyp info spawn args 'make',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/Users/xxxxxx/xxxx/xxxxxxx/xxxx/xxxxxxxxxx/WebMidi/node_modules/midi/build/config.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/Users/xxxxxx/Library/Caches/node-gyp/21.2.0/include/node/common.gypi',
npm ERR! gyp info spawn args '-Dlibrary=shared_library',
npm ERR! gyp info spawn args '-Dvisibility=default',
npm ERR! gyp info spawn args '-Dnode_root_dir=/Users/xxxxxx/Library/Caches/node-gyp/21.2.0',
npm ERR! gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args '-Dnode_lib_file=/Users/xxxxxx/Library/Caches/node-gyp/21.2.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args '-Dmodule_root_dir=/Users/xxxxxx/xxxx/xxxxxxx/xxxx/xxxxxxxxxx/WebMidi/node_modules/midi',
npm ERR! gyp info spawn args '-Dnode_engine=v8',
npm ERR! gyp info spawn args '--depth=.',
npm ERR! gyp info spawn args '--no-parallel',
npm ERR! gyp info spawn args '--generator-output',
npm ERR! gyp info spawn args 'build',
npm ERR! gyp info spawn args '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp info spawn make
npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm ERR! In file included from ../src/input.cpp:1:
npm ERR! ../../nan/nan.h:686: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/xxxxxx/Library/Caches/node-gyp/21.2.0/include/node/v8-isolate.h:1339:3: note: 'IdleNotificationDeadline' has been explicitly marked deprecated here
npm ERR!   V8_DEPRECATE_SOON(
npm ERR!   ^
npm ERR! /Users/xxxxxx/Library/Caches/node-gyp/21.2.0/include/node/v8config.h:551:39: note: expanded from macro 'V8_DEPRECATE_SOON'
npm ERR! # define V8_DEPRECATE_SOON(message) [[deprecated(message)]]
npm ERR!                                       ^
npm ERR! ../src/input.cpp:91:23: warning: 'Call' is deprecated [-Wdeprecated-declarations]
npm ERR!         callback_emit.Call(input->handle(), 3, info);
npm ERR!                       ^
npm ERR! ../../nan/nan.h:1723:3: note: 'Call' has been explicitly marked deprecated here
npm ERR!   NAN_DEPRECATED inline v8::Local<v8::Value>
npm ERR!   ^
npm ERR! ../../nan/nan.h:110:40: note: expanded from macro 'NAN_DEPRECATED'
npm ERR! # define NAN_DEPRECATED __attribute__((deprecated))
npm ERR!                                        ^
npm ERR! In file included from ../src/input.cpp:1:
npm ERR! In file included from ../../nan/nan.h:60:
npm ERR! In file included from /Users/xxxxxx/Library/Caches/node-gyp/21.2.0/include/node/node.h:73:
npm ERR! In file included from /Users/xxxxxx/Library/Caches/node-gyp/21.2.0/include/node/v8.h:24:
npm ERR! In file included from /Users/xxxxxx/Library/Caches/node-gyp/21.2.0/include/node/v8-array-buffer.h:12:
npm ERR! /Users/xxxxxx/Library/Caches/node-gyp/21.2.0/include/node/v8-local-handle.h:253:5: error: static_assert failed due to requirement 'std::is_base_of<v8::Value, v8::Data>::value' "type check"
npm ERR!     static_assert(std::is_base_of<T, S>::value, "type check");
npm ERR!     ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm ERR! ../../nan/nan_callbacks_12_inl.h:175:20: note: in instantiation of function template specialization 'v8::Local<v8::Value>::Local<v8::Data>' requested here
npm ERR!       cbinfo(info, obj->GetInternalField(kDataIndex));
npm ERR!                    ^
npm ERR! 2 warnings and 1 error generated.
npm ERR! make: *** [Release/obj.target/midi/src/input.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.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:209:23)
npm ERR! gyp ERR! System Darwin 21.3.0
npm ERR! gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /Users/xxxxxx/xxxx/xxxxxxx/xxxx/xxxxxxxxxx/WebMidi/node_modules/midi
npm ERR! gyp ERR! node -v v21.2.0
npm ERR! gyp ERR! node-gyp -v v10.0.1
npm ERR! gyp ERR! not ok

Thanks for your help and for this nice lib!

@Julusian
Copy link

This project looks to not be maintained anymore. Instead you can use my fork @julusian/midi
See #228 for more details on the key changes.

@djipco
Copy link
Author

djipco commented Nov 23, 2023

@Julusian Thank you so much for chiming in! I installed your vision without any issues. Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants