MaxwellBo / Muncoordinated-2

🇺🇳 Muncoordinated is a Model UN committee management service, (re)written with TypeScript, React, Semantic UI and Firebase.
https://muncoordinated.io/
GNU General Public License v3.0
33 stars 21 forks source link

Yarn install fails with yarn 1.x.x and multiple node versions. #192

Closed GeordieEK closed 2 months ago

GeordieEK commented 6 months ago

Describe the bug Attempting to run yarn will fail in ubuntu-based environment running node 20.12.1 (current LTS), node 18.20.2, with project's current yarn version 1.22.22. Seems to be unable to find grpc. Tried both bash and fish shells.

To Reproduce Steps to reproduce the behaviour: Ensure node version between 18 - 20 project's current yarn version 1.22.22 run yarn

Expected behaviour Packages install

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Console log:


yarn install v1.22.22
[1/4] Resolving packages...
warning react-scripts > webpack-dev-server > chokidar > fsevents@1.2.13: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2
warning react-scripts > babel-jest > @jest/transform > jest-haste-map > fsevents@1.2.13: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > react-ga@2.7.0" has unmet peer dependency "prop-types@^15.6.0".
[4/4] Building fresh packages...
[-/7] ⠠ waiting...
[2/7] ⠠ grpc
[-/7] ⠠ waiting...
[-/7] ⠠ waiting...
error /home/geordie/Documents/Muncoordinated-2/node_modules/grpc: Command failed.
Exit code: 1
Command: node-pre-gyp install --fallback-to-build --library=static_library
Arguments: 
Directory: /home/geordie/Documents/Muncoordinated-2/node_modules/grpc
Output:
node-pre-gyp info it worked if it ends with ok
node-pre-gyp info using node-pre-gyp@0.14.0
node-pre-gyp info using node@20.12.1 | linux | x64
node-pre-gyp WARN Using request for node-pre-gyp https download 
node-pre-gyp info check checked for "/home/geordie/Documents/Muncoordinated-2/node_modules/grpc/src/node/extension_binary/node-v115-linux-x64-glibc/grpc_node.node" (not found)
node-pre-gyp http GET https://node-precompiled-binaries.grpc.io/grpc/v1.24.2/node-v115-linux-x64-glibc.tar.gz
node-pre-gyp http 404 https://node-precompiled-binaries.grpc.io/grpc/v1.24.2/node-v115-linux-x64-glibc.tar.gz
node-pre-gyp WARN Tried to download(404): https://node-precompiled-binaries.grpc.io/grpc/v1.24.2/node-v115-linux-x64-glibc.tar.gz 
node-pre-gyp WARN Pre-built binaries not found for grpc@1.24.2 and node@20.12.1 (node-v115 ABI, glibc) (falling back to source compile with node-gyp) 
node-pre-gyp http 404 status code downloading tarball https://node-precompiled-binaries.grpc.io/grpc/v1.24.2/node-v115-linux-x64-glibc.tar.gz 
gyp info it worked if it ends with ok
gyp info using node-gyp@10.0.1
gyp info using node@20.12.1 | linux | x64
gyp info ok 
gyp info it worked if it ends with ok
gyp info using node-gyp@10.0.1
gyp info using node@20.12.1 | linux | x64
gyp info find Python using Python version 3.10.12 found at "/usr/bin/python3"

gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args '/home/geordie/.local/share/nvm/v20.12.1/lib/node_modules/npm/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 '/home/geordie/Documents/Muncoordinated-2/node_modules/grpc/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/geordie/.local/share/nvm/v20.12.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/geordie/.cache/node-gyp/20.12.1/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/geordie/.cache/node-gyp/20.12.1',
gyp info spawn args '-Dnode_gyp_dir=/home/geordie/.local/share/nvm/v20.12.1/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/home/geordie/.cache/node-gyp/20.12.1/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/home/geordie/Documents/Muncoordinated-2/node_modules/grpc',
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 ok 
gyp info it worked if it ends with ok
gyp info using node-gyp@10.0.1
gyp info using node@20.12.1 | linux | x64
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/home/geordie/Documents/Muncoordinated-2/node_modules/grpc/build'
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/avl/avl.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/backoff/backoff.o
 ... 
...
In file included from ../ext/byte_buffer.cc:21:
../node_modules/nan/nan.h: In function ‘void Nan::SetAccessor(v8::Local<v8::ObjectTemplate>, v8::Local<v8::String>, Nan::GetterCallback, Nan::SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, Nan::imp::Sig)’:
../node_modules/nan/nan.h:2536:19: warning: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, v8::Local<v8::AccessorSignature>, v8::SideEffectType, v8::SideEffectType)’ is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
 2536 |   tpl->SetAccessor(
      |   ~~~~~~~~~~~~~~~~^
 2537 |       name
      |       ~~~~         
 2538 |     , getter_
      |     ~~~~~~~~~      
 2539 |     , setter_
      |     ~~~~~~~~~      
 2540 |     , obj
      |     ~~~~~          
 2541 |     , settings
      |     ~~~~~~~~~~     
 2542 |     , attribute
      |     ~~~~~~~~~~~    
 2543 |     , signature);
      |     ~~~~~~~~~~~~   
In file included from /home/geordie/.cache/node-gyp/18.20.2/include/node/v8-function.h:15,
                 from /home/geordie/.cache/node-gyp/18.20.2/include/node/v8.h:33,
                 from /home/geordie/.cache/node-gyp/18.20.2/include/node/node.h:73,
                 from ../node_modules/nan/nan.h:54,
                 from ../ext/byte_buffer.cc:21:
/home/geordie/.cache/node-gyp/18.20.2/include/node/v8-template.h:838:8: note: declared here
  838 |   void SetAccessor(
      |        ^~~~~~~~~~~
In file included from ../node_modules/nan/nan.h:2884,
                 from ../ext/byte_buffer.cc:21:
../node_modules/nan/nan_typedarray_contents.h: In constructor ‘Nan::TypedArrayContents<T>::TypedArrayContents(v8::Local<v8::Value>)’:
../node_modules/nan/nan_typedarray_contents.h:34:43: error: ‘class v8::ArrayBuffer’ has no member named ‘GetContents’
   34 |       data   = static_cast<char*>(buffer->GetContents().Data()) + byte_offset;
      |                                           ^~~~~~~~~~~
make: *** [grpc_node.target.mk:194: Release/obj.target/grpc_node/ext/byte_buffer.o] Error 1
make: Leaving directory '/home/geordie/Documents/Muncoordinated-2/node_modules/grpc/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.<anonymous> (/home/geordie/.local/share/nvm/v18.20.2/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:209:23)
gyp ERR! System Linux 6.8.0-76060800daily20240311-generic
gyp ERR! command "/home/geordie/.local/share/nvm/v18.20.2/bin/node" "/home/geordie/.local/share/nvm/v18.20.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--library=static_library" "--module=/home/geordie/Documents/Muncoordinated-2/node_modules/grpc/src/node/extension_binary/node-v108-linux-x64-glibc/grpc_node.node" "--module_name=grpc_node" "--module_path=/home/geordie/Documents/Muncoordinated-2/node_modules/grpc/src/node/extension_binary/node-v108-linux-x64-glibc" "--napi_version=9" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v108"
gyp ERR! cwd /home/geordie/Documents/Muncoordinated-2/node_modules/grpc
gyp ERR! node -v v18.20.2
gyp ERR! node-gyp -v v10.0.1
gyp ERR! not ok 
node-pre-gyp ERR! build error 
node-pre-gyp ERR! stack Error: Failed to execute '/home/geordie/.local/share/nvm/v18.20.2/bin/node /home/geordie/.local/share/nvm/v18.20.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --library=static_library --module=/home/geordie/Documents/Muncoordinated-2/node_modules/grpc/src/node/extension_binary/node-v108-linux-x64-glibc/grpc_node.node --module_name=grpc_node --module_path=/home/geordie/Documents/Muncoordinated-2/node_modules/grpc/src/node/extension_binary/node-v108-linux-x64-glibc --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v108' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/home/geordie/Documents/Muncoordinated-2/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (node:events:517:28)
node-pre-gyp ERR! stack     at maybeClose (node:internal/child_process:1098:16)
node-pre-gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:303:5)
node-pre-gyp ERR! System Linux 6.8.0-76060800daily20240311-generic
node-pre-gyp ERR! command "/home/geordie/.local/share/nvm/v18.20.2/bin/node" "/home/geordie/Documents/Muncoordinated-2/node_modules/grpc/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" "--library=static_library"
node-pre-gyp ERR! cwd /home/geordie/Documents/Muncoordinated-2/node_modules/grpc
node-pre-gyp ERR! node -v v18.20.2
node-pre-gyp ERR! node-pre-gyp -v v0.14.0
node-pre-gyp ERR! not ok 
Failed to execute '/home/geordie/.local/share/nvm/v18.20.2/bin/node /home/geordie/.local/share/nvm/v18.20.2/lib/node_modules/npm/node_modules/node-gyp```
Zhehan-Z commented 5 months ago

Hi. I’m running into the same issue. Is there a possible workaround?

GeordieEK commented 5 months ago

@Zhehan-Z

I'm working on a fix at the moment. Firebase needs an upgrade

Zhehan-Z commented 5 months ago

Noticed that problem. Thank you!

GeordieEK commented 2 months ago

Fixed in #198