Beaglefoot / awk-language-server

Language Server for AWK and associated VSCode client extension
https://marketplace.visualstudio.com/items?itemName=beaglefoot.awk-ide-vscode
MIT License
90 stars 5 forks source link

Error when running "npm update -g" #57

Closed akkadaya closed 4 months ago

akkadaya commented 8 months ago

When running npm update -g I'm getting this error

$ npm update -g
npm ERR! code 1
npm ERR! path /opt/homebrew/lib/node_modules/awk-language-server/node_modules/tree-sitter-awk
npm ERR! command failed
...

This only happened after upgrading NodeJS to v21

Ordoviz commented 8 months ago

Same here:

$ git clone https://github.com/Beaglefoot/awk-language-server
$ cd awk-language-server/
$ yarn --frozen-lockfile
yarn install v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...

$ cd client && yarn && cd ../server && yarn && cd ..
yarn install v1.22.19
[1/5] Validating package.json...
warning awk-ide-vscode@0.10.2: The engine "vscode" appears to be invalid.
[2/5] Resolving packages...
[3/5] Fetching packages...
[--------------------------------------------------------] 0/56(node:15081) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
warning vscode-languageclient@7.0.0: The engine "vscode" appears to be invalid.
[4/5] Linking dependencies...
[5/5] Building fresh packages...
error /tmp/awk-language-server/client/node_modules/tree-sitter-awk: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments: 
Directory: /tmp/awk-language-server/client/node_modules/tree-sitter-awk
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@10.0.1
gyp info using node@21.1.0 | linux | x64
gyp info find Python using Python version 3.11.5 found at "/usr/bin/python3"

gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args '/usr/lib/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/tmp/awk-language-server/client/node_modules/tree-sitter-awk/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/usr/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/me/.cache/node-gyp/21.1.0/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/home/me/.cache/node-gyp/21.1.0',
gyp info spawn args '-Dnode_gyp_dir=/usr/lib/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/home/me/.cache/node-gyp/21.1.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/tmp/awk-language-server/client/node_modules/tree-sitter-awk',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/tmp/awk-language-server/client/node_modules/tree-sitter-awk/build'
  CXX(target) Release/obj.target/tree_sitter_awk_binding/bindings/node/binding.o
In file included from ../bindings/node/binding.cc:3:
../../nan/nan.h: In function ‘bool Nan::IdleNotification(int)’:
../../nan/nan.h:686:63: warning: ‘bool v8::Isolate::IdleNotificationDeadline(double)’ is deprecated: Use MemoryPressureNotification() to influence the GC schedule. [-Wdeprecated-declarations]
  686 |     return v8::Isolate::GetCurrent()->IdleNotificationDeadline(
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  687 |         idle_time_in_ms * 0.001);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~                               
In file included from /home/me/.cache/node-gyp/21.1.0/include/node/v8-initialization.h:13,
                 from /home/me/.cache/node-gyp/21.1.0/include/node/v8.h:34,
                 from /home/me/.cache/node-gyp/21.1.0/include/node/node.h:73,
                 from ../bindings/node/binding.cc:2:
/home/me/.cache/node-gyp/21.1.0/include/node/v8-isolate.h:1341:8: note: declared here
 1341 |   bool IdleNotificationDeadline(double deadline_in_seconds);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~
../bindings/node/binding.cc: At global scope:
/home/me/.cache/node-gyp/21.1.0/include/node/node.h:1172:7: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
 1172 |       (node::addon_register_func) (regfunc),                          \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/me/.cache/node-gyp/21.1.0/include/node/node.h:1206:3: note: in expansion of macro ‘NODE_MODULE_X’
 1206 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../bindings/node/binding.cc:26:1: note: in expansion of macro ‘NODE_MODULE’
   26 | NODE_MODULE(tree_sitter_awk_binding, Init)
      | ^~~~~~~~~~~
In file included from /home/me/.cache/node-gyp/21.1.0/include/node/v8-array-buffer.h:12,
                 from /home/me/.cache/node-gyp/21.1.0/include/node/v8.h:24:
/home/me/.cache/node-gyp/21.1.0/include/node/v8-local-handle.h: In instantiation of ‘v8::Local<T>::Local(v8::Local<S>) [with S = v8::Data; T = v8::Value]’:
../../nan/nan_callbacks_12_inl.h:175:53:   required from here
/home/me/.cache/node-gyp/21.1.0/include/node/v8-local-handle.h:253:42: error: static assertion failed: type check
  253 |     static_assert(std::is_base_of<T, S>::value, "type check");
      |                                          ^~~~~
/home/me/.cache/node-gyp/21.1.0/include/node/v8-local-handle.h:253:42: note: ‘std::integral_constant<bool, false>::value’ evaluates to false
make: *** [tree_sitter_awk_binding.target.mk:120: Release/obj.target/tree_sitter_awk_binding/bindings/node/binding.o] Error 1
make: Leaving directory '/tmp/awk-language-server/client/node_modules/tree-sitter-awk/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.<anonymous> (/usr/lib/node_modules/node-gyp/lib/build.js:209:23)
gyp ERR! System Linux 6.5.9-arch2-1
gyp ERR! command "/usr/bin/node" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /tmp/awk-language-server/client/node_modules/tree-sitter-awk
gyp ERR! node -v v21.1.0
gyp ERR! node-gyp -v v10.0.1
gyp ERR! not ok
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
error Command failed with exit code 1.
Beaglefoot commented 8 months ago

Could you please stick to node v20 LTS for a moment? Fixing these version-related issues every time is a pain in the ass...

longwuyuan commented 4 months ago

i got npm v21.6.2 as part of lazyman nvim config manager. I am getting the same error. What would you advise I do ?

% npm install -g "awk-language-server@>=0.5.2"                                                                                                                                                                                         
npm ERR! code 1                                                                                                                                                                                                                        
npm ERR! path /home/me/.nvm/versions/node/v21.6.2/lib/node_modules/awk-language-server/node_modules/tree-sitter-awk                                                                                                                    
npm ERR! command failed                                                                                                                                                                                                                
npm ERR! command sh -c node-gyp rebuild                                                                                                                                                                                                
npm ERR! make: Entering directory '/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/awk-language-server/node_modules/tree-sitter-awk/build'                                                                                        
npm ERR!   CXX(target) Release/obj.target/tree_sitter_awk_binding/bindings/node/binding.o                                                                                                                                              
npm ERR! make: Leaving directory '/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/awk-language-server/node_modules/tree-sitter-awk/build'                                                                                         
npm ERR! gyp info it worked if it ends with ok                                                                                                                                                                                         
npm ERR! gyp info using node-gyp@10.0.1                                                                                                                                                                                                
npm ERR! gyp info using node@21.6.2 | linux | x64                                                                                                                                                                                      
npm ERR! gyp info find Python using Python version 3.10.12 found at "/usr/bin/python3"                                                                                                                                                 
npm ERR! gyp info spawn /usr/bin/python3                                                                                                                                                                                               
npm ERR! gyp info spawn args [                                                                                                                                                                                                         
npm ERR! gyp info spawn args '/home/me/.nvm/versions/node/v21.6.2/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 '/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/awk-language-server/node_modules/tree-sitter-awk/build/config.gypi',                                                                                
npm ERR! gyp info spawn args '-I',                                                                                                                                                                                                     
npm ERR! gyp info spawn args '/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',                                                                                                              
npm ERR! gyp info spawn args '-I',                                                                                                                                                                                                     
npm ERR! gyp info spawn args '/home/me/.cache/node-gyp/21.6.2/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=/home/me/.cache/node-gyp/21.6.2',                                                                                                                                                        
npm ERR! gyp info spawn args '-Dnode_gyp_dir=/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/npm/node_modules/node-gyp',                                                                                                          
npm ERR! gyp info spawn args '-Dnode_lib_file=/home/me/.cache/node-gyp/21.6.2/<(target_arch)/node.lib',                                                                                                                                
npm ERR! gyp info spawn args '-Dmodule_root_dir=/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/awk-language-server/node_modules/tree-sitter-awk',                                                                                
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 ../bindings/node/binding.cc:2:                                                                                                                                                                          
npm ERR! /home/me/.cache/node-gyp/21.6.2/include/node/node.h:1202:7: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::
Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]                                                                                                                                                               
npm ERR!  1202 |       (node::addon_register_func) (regfunc),                          \                                                                                                                                               
npm ERR!       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                           
npm ERR! /home/me/.cache/node-gyp/21.6.2/include/node/node.h:1236:3: note: in expansion of macro ‘NODE_MODULE_X’                                                                                                                       
npm ERR!  1236 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)                                                                                                                                        
npm ERR!       |   ^~~~~~~~~~~~~                                                                                                                                                                                                       
npm ERR! ../bindings/node/binding.cc:26:1: note: in expansion of macro ‘NODE_MODULE’                                                                                                                                                   
npm ERR!    26 | NODE_MODULE(tree_sitter_awk_binding, Init)                                                                                                                                                                            
npm ERR!       | ^~~~~~~~~~~                                                                                                                                                                                                           
npm ERR! In file included from /home/me/.cache/node-gyp/21.6.2/include/node/v8-array-buffer.h:12,
npm ERR!                  from /home/me/.cache/node-gyp/21.6.2/include/node/v8.h:24,
npm ERR!                  from /home/me/.cache/node-gyp/21.6.2/include/node/node.h:73,
npm ERR!                  from ../bindings/node/binding.cc:2:
npm ERR! /home/me/.cache/node-gyp/21.6.2/include/node/v8-local-handle.h: In instantiation of ‘v8::Local<T>::Local(v8::Local<S>) [with S = v8::Data; T = v8::Value]’:
npm ERR! ../../nan/nan_callbacks_12_inl.h:175:53:   required from here
npm ERR! /home/me/.cache/node-gyp/21.6.2/include/node/v8-local-handle.h:253:42: error: static assertion failed: type check
npm ERR!   253 |     static_assert(std::is_base_of<T, S>::value, "type check");
npm ERR!       |                                          ^~~~~
npm ERR! /home/me/.cache/node-gyp/21.6.2/include/node/v8-local-handle.h:253:42: note: ‘std::integral_constant<bool, false>::value’ evaluates to false
npm ERR! make: *** [tree_sitter_awk_binding.target.mk:117: Release/obj.target/tree_sitter_awk_binding/bindings/node/binding.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> (/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:209:23)                                                                               
npm ERR! gyp ERR! System Linux 6.6.10-76060610-generic                                                                                                                                                                                 
npm ERR! gyp ERR! command "/home/me/.nvm/versions/node/v21.6.2/bin/node" "/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"                                                    
npm ERR! gyp ERR! cwd /home/me/.nvm/versions/node/v21.6.2/lib/node_modules/awk-language-server/node_modules/tree-sitter-awk                                                                                                            
npm ERR! gyp ERR! node -v v21.6.2                                                                                                                                                                                                      
npm ERR! gyp ERR! node-gyp -v v10.0.1                                                                                                                                                                                                  
npm ERR! gyp ERR! not ok                                                                                                                                                                                                               

npm ERR! A complete log of this run can be found in: /home/me/.npm/_logs/2024-03-03T17_14_29_609Z-debug-0.log                                                                                                                          
[~]                                                                                                                                                                                                                                    
% npm install -g "tree-sitter-awk"                                                                                                                                                                                                     
npm ERR! code 1                                                                                                                                                                                                                        
npm ERR! path /home/me/.nvm/versions/node/v21.6.2/lib/node_modules/tree-sitter-awk                                                                                                                                                     
npm ERR! command failed                                                                                                                                                                                                                
npm ERR! command sh -c node-gyp rebuild                                                                                                                                                                                                
npm ERR! make: Entering directory '/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/tree-sitter-awk/build'                                                                                                                         
npm ERR!   CXX(target) Release/obj.target/tree_sitter_awk_binding/bindings/node/binding.o                                                                                                                                              
npm ERR! make: Leaving directory '/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/tree-sitter-awk/build'                                                                                                                          
npm ERR! gyp info it worked if it ends with ok                                                                                                                                                                                         
npm ERR! gyp info using node-gyp@10.0.1                                                                                                                                                                                                
npm ERR! gyp info using node@21.6.2 | linux | x64                                                                                                                                                                                      
npm ERR! gyp info find Python using Python version 3.10.12 found at "/usr/bin/python3"                                                                                                                                                 
npm ERR! gyp info spawn /usr/bin/python3                                                                                                                                                                                               
npm ERR! gyp info spawn args [                                                                                                                                                                                                         
npm ERR! gyp info spawn args '/home/me/.nvm/versions/node/v21.6.2/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 '/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/tree-sitter-awk/build/config.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/home/me/.cache/node-gyp/21.6.2/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=/home/me/.cache/node-gyp/21.6.2',
npm ERR! gyp info spawn args '-Dnode_gyp_dir=/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args '-Dnode_lib_file=/home/me/.cache/node-gyp/21.6.2/<(target_arch)/node.lib',
npm ERR! gyp info spawn args '-Dmodule_root_dir=/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/tree-sitter-awk',
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 ../bindings/node/binding.cc:2:
npm ERR! /home/me/.cache/node-gyp/21.6.2/include/node/node.h:1202:7: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::
Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]                 
npm ERR!  1202 |       (node::addon_register_func) (regfunc),                          \
npm ERR!       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm ERR! /home/me/.cache/node-gyp/21.6.2/include/node/node.h:1236:3: note: in expansion of macro ‘NODE_MODULE_X’
npm ERR!  1236 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
npm ERR!       |   ^~~~~~~~~~~~~
npm ERR! ../bindings/node/binding.cc:26:1: note: in expansion of macro ‘NODE_MODULE’
npm ERR!    26 | NODE_MODULE(tree_sitter_awk_binding, Init)
npm ERR!       | ^~~~~~~~~~~
npm ERR! In file included from /home/me/.cache/node-gyp/21.6.2/include/node/v8-array-buffer.h:12,
npm ERR!                  from /home/me/.cache/node-gyp/21.6.2/include/node/v8.h:24,
npm ERR!                  from /home/me/.cache/node-gyp/21.6.2/include/node/node.h:73,
npm ERR!                  from ../bindings/node/binding.cc:2:
npm ERR! /home/me/.cache/node-gyp/21.6.2/include/node/v8-local-handle.h: In instantiation of ‘v8::Local<T>::Local(v8::Local<S>) [with S = v8::Data; T = v8::Value]’:
npm ERR! ../node_modules/nan/nan_callbacks_12_inl.h:175:53:   required from here
npm ERR! /home/me/.cache/node-gyp/21.6.2/include/node/v8-local-handle.h:253:42: error: static assertion failed: type check
npm ERR!   253 |     static_assert(std::is_base_of<T, S>::value, "type check");
npm ERR!       |                                          ^~~~~
npm ERR! /home/me/.cache/node-gyp/21.6.2/include/node/v8-local-handle.h:253:42: note: ‘std::integral_constant<bool, false>::value’ evaluates to false
npm ERR! make: *** [tree_sitter_awk_binding.target.mk:114: Release/obj.target/tree_sitter_awk_binding/bindings/node/binding.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> (/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:209:23)
npm ERR! gyp ERR! System Linux 6.6.10-76060610-generic
npm ERR! gyp ERR! command "/home/me/.nvm/versions/node/v21.6.2/bin/node" "/home/me/.nvm/versions/node/v21.6.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /home/me/.nvm/versions/node/v21.6.2/lib/node_modules/tree-sitter-awk
npm ERR! gyp ERR! node -v v21.6.2
npm ERR! gyp ERR! node-gyp -v v10.0.1
npm ERR! gyp ERR! not ok

npm ERR! A complete log of this run can be found in: /home/me/.npm/_logs/2024-03-03T17_16_03_520Z-debug-0.log
Beaglefoot commented 4 months ago

The issue is fixed in version 0.10.5