Команда: код выхода для восстановления узла-gyp: 1

#javascript #node.js

#javascript #node.js

Вопрос:

Пытаюсь установить react-shorten

Что я пытался решить, так это следующее, но безуспешно:

  • установлена последняя версия инструментов командной строки XCode
  • понижение версии до node v12
  • sudo npm uninstall -g node-gyp
  • sudo npm install -g node-gyp
  • brew install pkg-config cairo libpng jpeg giflib
  • rm -rf ~/.node-gyp
  • yarn cache clean
  • обновлен узел до версии 15

Ошибка (кажется, застряла при попытке установить canvas)

 ▶ yarn add react-shorten
yarn add v1.22.10
[1/5] 🔍  Validating package.json...
[2/5] 🔍  Resolving packages...
[3/5] 🚚  Fetching packages...
[4/5] 🔗  Linking dependencies...
warning " > react-ga@3.1.2" has unmet peer dependency "prop-types@^15.6.0".
[5/5] 🔨  Building fresh packages...
[1/5] ⠠ fsevents
[-/5] ⠠ waiting...
[-/5] ⠠ waiting...
[-/5] ⠠ waiting...
error /Users/xxxxxxx/code/other/projects/xxxxxxx/node_modules/canvas: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments: 
Directory: /Users/xxxxxxx/code/other/projects/xxxxxxx/node_modules/canvas
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@7.1.1
gyp info using node@15.0.0 | darwin | x64
gyp info find Python using Python version 2.7.16 found at "/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python"
gyp http GET https://nodejs.org/download/release/v15.0.0/node-v15.0.0-headers.tar.gz
gyp http 200 https://nodejs.org/download/release/v15.0.0/node-v15.0.0-headers.tar.gz
gyp http GET https://nodejs.org/download/release/v15.0.0/SHASUMS256.txt
gyp http 200 https://nodejs.org/download/release/v15.0.0/SHASUMS256.txt
gyp info spawn /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
gyp info spawn args [
gyp info spawn args   '/Users/xxxxxxx/.nvm/versions/node/v15.0.0/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   '/Users/xxxxxxx/code/other/projects/xxxxxxx/node_modules/canvas/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/xxxxxxx/.nvm/versions/node/v15.0.0/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/xxxxxxx/Library/Caches/node-gyp/15.0.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=/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0',
gyp info spawn args   '-Dnode_gyp_dir=/Users/xxxxxxx/.nvm/versions/node/v15.0.0/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/xxxxxxx/code/other/projects/xxxxxxx/node_modules/canvas',
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' ]
  SOLINK_MODULE(target) Release/canvas-postbuild.node
  CXX(target) Release/obj.target/canvas/src/Canvas.o
In file included from ../src/Canvas.cc:20:
../src/JPEGStream.h:42:8: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
  Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)dest->closure->fn, 2, argv);
       ^
../../nan/nan.h:1026:3: note: 'MakeCallback' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
  ^
../../nan/nan.h:106:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
In file included from ../src/Canvas.cc:20:
../src/JPEGStream.h:63:8: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
  Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)dest->closure->fn, 2, data_argv);
       ^
../../nan/nan.h:1026:3: note: 'MakeCallback' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
  ^
../../nan/nan.h:106:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
In file included from ../src/Canvas.cc:20:
../src/JPEGStream.h:71:8: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
  Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)dest->closure->fn, 2, end_argv);
       ^
../../nan/nan.h:1026:3: note: 'MakeCallback' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
  ^
../../nan/nan.h:106:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
../src/Canvas.cc:60:75: error: too few arguments to function call, single argument 'context' was not specified
  Nan::Set(target, Nan::New("Canvas").ToLocalChecked(), ctor->GetFunction());
                                                        ~~~~~~~~~~~~~~~~~ ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:6490:3: note: 'GetFunction' declared here
  V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
  ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8config.h:431:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/Canvas.cc:74:57: error: too few arguments to function call, single argument 'context' was not specified
  if (info[0]->IsNumber()) width = info[0]->Uint32Value();
                                   ~~~~~~~~~~~~~~~~~~~~ ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:2912:3: note: 'Uint32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
  ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8config.h:431:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/Canvas.cc:75:58: error: too few arguments to function call, single argument 'context' was not specified
  if (info[1]->IsNumber()) height = info[1]->Uint32Value();
                                    ~~~~~~~~~~~~~~~~~~~~ ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:2912:3: note: 'Uint32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
  ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8config.h:431:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/Canvas.cc:76:51: error: no matching conversion for functional-style cast from 'v8::Local<v8::Value>' to 'String::Utf8Value'
  if (info[2]->IsString()) type = !strcmp("pdf", *String::Utf8Value(info[2]))
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:3340:5: note: candidate constructor not viable: no known conversion from 'v8::Local<v8::Value>' to 'const v8::String::Utf8Value' for 1st argument
    Utf8Value(const Utf8Valueamp;) = delete;
    ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:3333:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
    Utf8Value(Isolate* isolate, Local<v8::Value> obj);
    ^
../src/Canvas.cc:78:23: error: no matching conversion for functional-style cast from 'v8::Local<v8::Value>' to 'String::Utf8Value'
    : !strcmp("svg", *String::Utf8Value(info[2]))
                      ^~~~~~~~~~~~~~~~~~~~~~~~~
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:3340:5: note: candidate constructor not viable: no known conversion from 'v8::Local<v8::Value>' to 'const v8::String::Utf8Value' for 1st argument
    Utf8Value(const Utf8Valueamp;) = delete;
    ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:3333:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
    Utf8Value(Isolate* isolate, Local<v8::Value> obj);
    ^
../src/Canvas.cc:119:40: error: too few arguments to function call, single argument 'context' was not specified
    canvas->width = value->Uint32Value();
                    ~~~~~~~~~~~~~~~~~~ ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:2912:3: note: 'Uint32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
  ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8config.h:431:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/Canvas.cc:140:41: error: too few arguments to function call, single argument 'context' was not specified
    canvas->height = value->Uint32Value();
                     ~~~~~~~~~~~~~~~~~~ ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:2912:3: note: 'Uint32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
  ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8config.h:431:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/Canvas.cc:221:19: warning: 'Call' is deprecated [-Wdeprecated-declarations]
    closure->pfn->Call(1, argv);
                  ^
../../nan/nan.h:1741:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../nan/nan.h:106:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
../src/Canvas.cc:226:19: warning: 'Call' is deprecated [-Wdeprecated-declarations]
    closure->pfn->Call(2, argv);
                  ^
../../nan/nan.h:1741:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../nan/nan.h:106:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
../src/Canvas.cc:274:52: error: too few arguments to function call, single argument 'context' was not specified
          compression_level = info[1]->Uint32Value();
                              ~~~~~~~~~~~~~~~~~~~~ ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:2912:3: note: 'Uint32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
  ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8config.h:431:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/Canvas.cc:279:49: error: too few arguments to function call, single argument 'context' was not specified
            uint32_t tmp = info[1]->Uint32Value();
                           ~~~~~~~~~~~~~~~~~~~~ ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:2912:3: note: 'Uint32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
  ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8config.h:431:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/Canvas.cc:301:39: error: too few arguments to function call, single argument 'context' was not specified
        filter = info[2]->Uint32Value();
                 ~~~~~~~~~~~~~~~~~~~~ ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:2912:3: note: 'Uint32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
  ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8config.h:431:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/Canvas.cc:377:8: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
  Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)closure->fn, 3, argv);
       ^
../../nan/nan.h:1026:3: note: 'MakeCallback' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
  ^
../../nan/nan.h:106:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
../src/Canvas.cc:396:52: error: too few arguments to function call, single argument 'context' was not specified
          compression_level = info[1]->Uint32Value();
                              ~~~~~~~~~~~~~~~~~~~~ ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:2912:3: note: 'Uint32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
  ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8config.h:431:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/Canvas.cc:401:49: error: too few arguments to function call, single argument 'context' was not specified
            uint32_t tmp = info[1]->Uint32Value();
                           ~~~~~~~~~~~~~~~~~~~~ ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:2912:3: note: 'Uint32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
  ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8config.h:431:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/Canvas.cc:423:39: error: too few arguments to function call, single argument 'context' was not specified
        filter = info[2]->Uint32Value();
                 ~~~~~~~~~~~~~~~~~~~~ ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:2912:3: note: 'Uint32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
  ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8config.h:431:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/Canvas.cc:446:10: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
    Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)closure.fn, 1, argv);
         ^
../../nan/nan.h:1026:3: note: 'MakeCallback' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
  ^
../../nan/nan.h:106:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
../src/Canvas.cc:452:10: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
    Nan::MakeCallback(Nan::GetCurrentContext()->Global(), (v8::Local<v8::Function>)closure.fn, 1, argv);
         ^
../../nan/nan.h:1026:3: note: 'MakeCallback' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
  ^
../../nan/nan.h:106:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
../src/Canvas.cc:476:8: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
  Nan::MakeCallback(Nan::GetCurrentContext()->Global(), closure->fn, 3, argv);
       ^
../../nan/nan.h:1026:3: note: 'MakeCallback' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
  ^
../../nan/nan.h:106:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
../src/Canvas.cc:557:64: error: too few arguments to function call, single argument 'context' was not specified
  write_to_jpeg_stream(canvas->surface(), info[0]->NumberValue(), info[1]->NumberValue(), info[2]->BooleanValue(), amp;closure);
                                          ~~~~~~~~~~~~~~~~~~~~ ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:2907:3: note: 'NumberValue' declared here
  V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
  ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8config.h:431:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/Canvas.cc:557:88: error: too few arguments to function call, single argument 'context' was not specified
  write_to_jpeg_stream(canvas->surface(), info[0]->NumberValue(), info[1]->NumberValue(), info[2]->BooleanValue(), amp;closure);
                                                                  ~~~~~~~~~~~~~~~~~~~~ ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:2907:3: note: 'NumberValue' declared here
  V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
  ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8config.h:431:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/Canvas.cc:557:113: error: too few arguments to function call, single argument 'isolate' was not specified
  write_to_jpeg_stream(canvas->surface(), info[0]->NumberValue(), info[1]->NumberValue(), info[2]->BooleanValue(), amp;closure);
                                                                                          ~~~~~~~~~~~~~~~~~~~~~ ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:2904:3: note: 'BooleanValue' declared here
  bool BooleanValue(Isolate* isolate) const;
  ^
../src/Canvas.cc:639:25: error: no matching member function for call to 'Get'
      context = canvas->Get(Nan::New<String>("context").ToLocalChecked());
                ~~~~~~~~^~~
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:3763:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:3766:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
../src/Canvas.cc:641:85: error: too few arguments to function call, single argument 'context' was not specified
        Context2d *context2d = Nan::ObjectWrap::Unwrap<Context2d>(context->ToObject());
                                                                  ~~~~~~~~~~~~~~~~~ ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:2868:3: note: 'ToObject' declared here
  V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
  ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8config.h:431:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/Canvas.cc:655:25: error: no matching member function for call to 'Get'
      context = canvas->Get(Nan::New<String>("context").ToLocalChecked());
                ~~~~~~~~^~~
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:3763:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
/Users/xxxxxxx/Library/Caches/node-gyp/15.0.0/include/node/v8.h:3766:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
9 warnings and 20 errors generated.
make: *** [Release/obj.target/canvas/src/Canvas.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/xxxxxxx/.nvm/versions/node/v15.0.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (node:events:327:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:277:12)
gyp ERR! System Darwin 19.6.0
gyp ERR! command "/Users/xxxxxxx/.nvm/versions/node/v15.0.0/bin/node" "/Users/xxxxxxx/.nvm/versions/node/v15.0.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/xxxxxxx/code/other/projects/xxxxxxx/node_modules/canvas
  

Комментарии:

1. вы когда-нибудь находили решение?