I'm running the folwong command on my Ubuntu 18.0.4 system to set up this repository locally on my system
1.Installing MongoDB
sudo apt install -y mongodb
-
Install canvas dependencies
sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
-
Install NodeJs
sudo apt-get install curl software-properties-common
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
-
Setup
git clone https://github.com/foyt/coops-demo
cd coops-demo
npm install
But npm install is giving me an error. Tried in 2 systems.
Screenshot of error

Log File
2019-07-20T05_04_41_098Z-debug.log
Terminal logs of npm install are as follow
npm WARN deprecated jade@1.3.0: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated transformers@2.1.0: Deprecated, use jstransformer
npm WARN deprecated connect@2.12.0: connect 2.x series is deprecated
npm WARN deprecated constantinople@2.0.1: Please update to at least constantinople 3.1.1
npm WARN deprecated mongodb@1.3.19: Please upgrade to 2.2.19 or higher
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated hawk@0.10.2: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated boom@0.3.8: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated cryptiles@0.1.3: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated sntp@0.1.4: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated hoek@0.7.6: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
bson@0.2.2 install /home/jain/coops-demo/node_modules/bson
(node-gyp rebuild 2> builderror.log) || (exit 0)
make: Entering directory '/home/jain/coops-demo/node_modules/bson/build'
CXX(target) Release/obj.target/bson/ext/bson.o
bson.target.mk:97: recipe for target 'Release/obj.target/bson/ext/bson.o' failed
make: Leaving directory '/home/jain/coops-demo/node_modules/bson/build'
kerberos@0.0.3 install /home/jain/coops-demo/node_modules/kerberos
(node-gyp rebuild 2> builderror.log) || (exit 0)
make: Entering directory '/home/jain/coops-demo/node_modules/kerberos/build'
SOLINK_MODULE(target) Release/obj.target/kerberos.node
COPY Release/kerberos.node
make: Leaving directory '/home/jain/coops-demo/node_modules/kerberos/build'
canvas@1.3.9 install /home/jain/coops-demo/node_modules/canvas
node-gyp rebuild
make: Entering directory '/home/jain/coops-demo/node_modules/canvas/build'
SOLINK_MODULE(target) Release/obj.target/canvas-postbuild.node
COPY Release/canvas-postbuild.node
CXX(target) Release/obj.target/canvas/src/Canvas.o
In file included from ../src/Canvas.cc:20:0:
../src/JPEGStream.h: In function ‘boolean empty_closure_output_buffer(j_compress_ptr)’:
../src/JPEGStream.h:42:108: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated [-Wdeprecated-declarations]
(Nan::GetCurrentContext()->Global(), (v8::Localv8::Function)dest->closure->fn, 2, argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1024:46: note: declared here
NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
In file included from ../src/Canvas.cc:20:0:
../src/JPEGStream.h: In function ‘void term_closure_destination(j_compress_ptr)’:
../src/JPEGStream.h:63:113: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated [-Wdeprecated-declarations]
:GetCurrentContext()->Global(), (v8::Localv8::Function)dest->closure->fn, 2, data_argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1024:46: note: declared here
NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
In file included from ../src/Canvas.cc:20:0:
../src/JPEGStream.h:71:112: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated [-Wdeprecated-declarations]
::GetCurrentContext()->Global(), (v8::Localv8::Function)dest->closure->fn, 2, end_argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1024:46: note: declared here
NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
../src/Canvas.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Canvas::New(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/Canvas.cc:68:57: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
if (info[0]->IsNumber()) width = info[0]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:69:58: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
if (info[1]->IsNumber()) height = info[1]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:70:76: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Localv8::Value)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
if (info[2]->IsString()) type = !strcmp("pdf", String::Utf8Value(info[2]))
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2892:28: note: declared here
explicit Utf8Value(Localv8::Value obj));
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:72:48: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Localv8::Value)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
: !strcmp("svg", String::Utf8Value(info[2]))
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2892:28: note: declared here
explicit Utf8Value(Localv8::Value obj));
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc: In static member function ‘static Nan::NAN_SETTER_RETURN_TYPE Canvas::SetWidth(v8::Localv8::String, v8::Localv8::Value, Nan::NAN_SETTER_ARGS_TYPE)’:
../src/Canvas.cc:105:40: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
canvas->width = value->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc: In static member function ‘static Nan::NAN_SETTER_RETURN_TYPE Canvas::SetHeight(v8::Localv8::String, v8::Localv8::Value, Nan::NAN_SETTER_ARGS_TYPE)’:
../src/Canvas.cc:126:41: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
canvas->height = value->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc: In static member function ‘static void Canvas::ToBufferAsyncAfter(uv_work_t)’:
../src/Canvas.cc:207:31: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
closure->pfn->Call(1, argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1740:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
../src/Canvas.cc:212:31: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
closure->pfn->Call(2, argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1740:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
../src/Canvas.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Canvas::ToBuffer(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/Canvas.cc:250:52: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
compression_level = info[1]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:255:49: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
uint32_t tmp = info[1]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:277:39: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
filter = info[2]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:321:14: error: no matching function for call to ‘v8::TryCatch::TryCatch()’
TryCatch try_catch;
^~~~~~~~~
In file included from ../src/Canvas.h:11:0,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:8536:12: note: candidate: v8::TryCatch::TryCatch(v8::Isolate*)
explicit TryCatch(Isolate* isolate);
^~~~~~~~
/home/jain/.node-gyp/10.16.0/include/node/v8.h:8536:12: note: candidate expects 1 argument, 0 provided
../src/Canvas.cc: In function ‘cairo_status_t streamPNG(void*, const uint8_t*, unsigned int)’:
../src/Canvas.cc:353:102: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated [-Wdeprecated-declarations]
llback(Nan::GetCurrentContext()->Global(), (v8::Localv8::Function)closure->fn, 3, argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1024:46: note: declared here
NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
../src/Canvas.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Canvas::StreamPNGSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/Canvas.cc:372:52: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
compression_level = info[1]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:377:49: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
uint32_t tmp = info[1]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:399:39: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
filter = info[2]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:413:12: error: no matching function for call to ‘v8::TryCatch::TryCatch()’
TryCatch try_catch;
^~~~~~~~~
In file included from ../src/Canvas.h:11:0,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:8536:12: note: candidate: v8::TryCatch::TryCatch(v8::Isolate)
explicit TryCatch(Isolate* isolate);
^~~~~~~~
/home/jain/.node-gyp/10.16.0/include/node/v8.h:8536:12: note: candidate expects 1 argument, 0 provided
../src/Canvas.cc:422:103: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated [-Wdeprecated-declarations]
allback(Nan::GetCurrentContext()->Global(), (v8::Localv8::Function)closure.fn, 1, argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1024:46: note: declared here
NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
../src/Canvas.cc:428:103: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated [-Wdeprecated-declarations]
allback(Nan::GetCurrentContext()->Global(), (v8::Localv8::Function)closure.fn, 1, argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1024:46: note: declared here
NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
../src/Canvas.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Canvas::StreamJPEGSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/Canvas.cc:454:12: error: no matching function for call to ‘v8::TryCatch::TryCatch()’
TryCatch try_catch;
^~~~~~~~~
In file included from ../src/Canvas.h:11:0,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:8536:12: note: candidate: v8::TryCatch::TryCatch(v8::Isolate*)
explicit TryCatch(Isolate* isolate);
^~~~~~~~
/home/jain/.node-gyp/10.16.0/include/node/v8.h:8536:12: note: candidate expects 1 argument, 0 provided
../src/Canvas.cc:455:64: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
write_to_jpeg_stream(canvas->surface(), info[0]->NumberValue(), info[1]->NumberValue(), info[2]->BooleanValue(), &closure);
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2475:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:455:88: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
to_jpeg_stream(canvas->surface(), info[0]->NumberValue(), info[1]->NumberValue(), info[2]->BooleanValue(), &closure);
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2475:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc: In member function ‘void Canvas::resurface(v8::Localv8::Object)’:
../src/Canvas.cc:538:85: warning: ‘v8::Localv8::Object v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
Context2d *context2d = Nan::ObjectWrap::Unwrap(context->ToObject());
^
In file included from ../src/Canvas.h:11:0,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:10046:15: note: declared here
Local Value::ToObject() const {
^~~~~
../src/Canvas.cc:555:85: warning: ‘v8::Localv8::Object v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
Context2d *context2d = Nan::ObjectWrap::Unwrap(context->ToObject());
^
In file included from ../src/Canvas.h:11:0,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:10046:15: note: declared here
Local Value::ToObject() const {
^~~~~
canvas.target.mk:133: recipe for target 'Release/obj.target/canvas/src/Canvas.o' failed
make: *** [Release/obj.target/canvas/src/Canvas.o] Error 1
make: Leaving directory '/home/jain/coops-demo/node_modules/canvas/build'
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:198:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
gyp ERR! System Linux 4.15.0-29-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/jain/coops-demo/node_modules/canvas
gyp ERR! node -v v10.16.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN coops-demo@0.0.11 No license field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! canvas@1.3.9 install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the canvas@1.3.9 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/jain/.npm/_logs/2019-07-20T05_04_41_098Z-debug.log
I'm running the folwong command on my Ubuntu 18.0.4 system to set up this repository locally on my system
1.Installing MongoDB
sudo apt install -y mongodbInstall canvas dependencies
sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-devInstall NodeJs
sudo apt-get install curl software-properties-commoncurl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -sudo apt-get install -y nodejsSetup
git clone https://github.com/foyt/coops-democd coops-demonpm installBut
npm installis giving me an error. Tried in 2 systems.Screenshot of error

Log File
2019-07-20T05_04_41_098Z-debug.log
Terminal logs of
npm installare as follownpm WARN deprecated jade@1.3.0: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated transformers@2.1.0: Deprecated, use jstransformer
npm WARN deprecated connect@2.12.0: connect 2.x series is deprecated
npm WARN deprecated constantinople@2.0.1: Please update to at least constantinople 3.1.1
npm WARN deprecated mongodb@1.3.19: Please upgrade to 2.2.19 or higher
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated hawk@0.10.2: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated boom@0.3.8: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated cryptiles@0.1.3: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated sntp@0.1.4: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated hoek@0.7.6: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
make: Entering directory '/home/jain/coops-demo/node_modules/bson/build'
CXX(target) Release/obj.target/bson/ext/bson.o
bson.target.mk:97: recipe for target 'Release/obj.target/bson/ext/bson.o' failed
make: Leaving directory '/home/jain/coops-demo/node_modules/bson/build'
make: Entering directory '/home/jain/coops-demo/node_modules/kerberos/build'
SOLINK_MODULE(target) Release/obj.target/kerberos.node
COPY Release/kerberos.node
make: Leaving directory '/home/jain/coops-demo/node_modules/kerberos/build'
make: Entering directory '/home/jain/coops-demo/node_modules/canvas/build'
SOLINK_MODULE(target) Release/obj.target/canvas-postbuild.node
COPY Release/canvas-postbuild.node
CXX(target) Release/obj.target/canvas/src/Canvas.o
In file included from ../src/Canvas.cc:20:0:
../src/JPEGStream.h: In function ‘boolean empty_closure_output_buffer(j_compress_ptr)’:
../src/JPEGStream.h:42:108: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated [-Wdeprecated-declarations]
(Nan::GetCurrentContext()->Global(), (v8::Localv8::Function)dest->closure->fn, 2, argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1024:46: note: declared here
NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
In file included from ../src/Canvas.cc:20:0:
../src/JPEGStream.h: In function ‘void term_closure_destination(j_compress_ptr)’:
../src/JPEGStream.h:63:113: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated [-Wdeprecated-declarations]
:GetCurrentContext()->Global(), (v8::Localv8::Function)dest->closure->fn, 2, data_argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1024:46: note: declared here
NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
In file included from ../src/Canvas.cc:20:0:
../src/JPEGStream.h:71:112: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated [-Wdeprecated-declarations]
::GetCurrentContext()->Global(), (v8::Localv8::Function)dest->closure->fn, 2, end_argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1024:46: note: declared here
NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
../src/Canvas.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Canvas::New(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/Canvas.cc:68:57: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
if (info[0]->IsNumber()) width = info[0]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:69:58: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
if (info[1]->IsNumber()) height = info[1]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:70:76: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Localv8::Value)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
if (info[2]->IsString()) type = !strcmp("pdf", String::Utf8Value(info[2]))
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2892:28: note: declared here
explicit Utf8Value(Localv8::Value obj));
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:72:48: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Localv8::Value)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
: !strcmp("svg", String::Utf8Value(info[2]))
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2892:28: note: declared here
explicit Utf8Value(Localv8::Value obj));
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc: In static member function ‘static Nan::NAN_SETTER_RETURN_TYPE Canvas::SetWidth(v8::Localv8::String, v8::Localv8::Value, Nan::NAN_SETTER_ARGS_TYPE)’:
../src/Canvas.cc:105:40: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
canvas->width = value->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc: In static member function ‘static Nan::NAN_SETTER_RETURN_TYPE Canvas::SetHeight(v8::Localv8::String, v8::Localv8::Value, Nan::NAN_SETTER_ARGS_TYPE)’:
../src/Canvas.cc:126:41: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
canvas->height = value->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc: In static member function ‘static void Canvas::ToBufferAsyncAfter(uv_work_t)’:
../src/Canvas.cc:207:31: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
closure->pfn->Call(1, argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1740:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
../src/Canvas.cc:212:31: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
closure->pfn->Call(2, argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1740:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
../src/Canvas.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Canvas::ToBuffer(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/Canvas.cc:250:52: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
compression_level = info[1]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:255:49: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
uint32_t tmp = info[1]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:277:39: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
filter = info[2]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:321:14: error: no matching function for call to ‘v8::TryCatch::TryCatch()’
TryCatch try_catch;
^~~~~~~~~
In file included from ../src/Canvas.h:11:0,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:8536:12: note: candidate: v8::TryCatch::TryCatch(v8::Isolate*)
explicit TryCatch(Isolate* isolate);
^~~~~~~~
/home/jain/.node-gyp/10.16.0/include/node/v8.h:8536:12: note: candidate expects 1 argument, 0 provided
../src/Canvas.cc: In function ‘cairo_status_t streamPNG(void*, const uint8_t*, unsigned int)’:
../src/Canvas.cc:353:102: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated [-Wdeprecated-declarations]
llback(Nan::GetCurrentContext()->Global(), (v8::Localv8::Function)closure->fn, 3, argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1024:46: note: declared here
NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
../src/Canvas.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Canvas::StreamPNGSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/Canvas.cc:372:52: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
compression_level = info[1]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:377:49: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
uint32_t tmp = info[1]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:399:39: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
filter = info[2]->Uint32Value();
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2477:47: note: declared here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:413:12: error: no matching function for call to ‘v8::TryCatch::TryCatch()’
TryCatch try_catch;
^~~~~~~~~
In file included from ../src/Canvas.h:11:0,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:8536:12: note: candidate: v8::TryCatch::TryCatch(v8::Isolate)
explicit TryCatch(Isolate* isolate);
^~~~~~~~
/home/jain/.node-gyp/10.16.0/include/node/v8.h:8536:12: note: candidate expects 1 argument, 0 provided
../src/Canvas.cc:422:103: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated [-Wdeprecated-declarations]
allback(Nan::GetCurrentContext()->Global(), (v8::Localv8::Function)closure.fn, 1, argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1024:46: note: declared here
NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
../src/Canvas.cc:428:103: warning: ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated [-Wdeprecated-declarations]
allback(Nan::GetCurrentContext()->Global(), (v8::Localv8::Function)closure.fn, 1, argv);
^
In file included from ../src/Canvas.h:22:0,
from ../src/Canvas.cc:7:
../../nan/nan.h:1024:46: note: declared here
NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
../src/Canvas.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Canvas::StreamJPEGSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/Canvas.cc:454:12: error: no matching function for call to ‘v8::TryCatch::TryCatch()’
TryCatch try_catch;
^~~~~~~~~
In file included from ../src/Canvas.h:11:0,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:8536:12: note: candidate: v8::TryCatch::TryCatch(v8::Isolate*)
explicit TryCatch(Isolate* isolate);
^~~~~~~~
/home/jain/.node-gyp/10.16.0/include/node/v8.h:8536:12: note: candidate expects 1 argument, 0 provided
../src/Canvas.cc:455:64: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
write_to_jpeg_stream(canvas->surface(), info[0]->NumberValue(), info[1]->NumberValue(), info[2]->BooleanValue(), &closure);
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2475:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc:455:88: warning: ‘double v8::Value::NumberValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
to_jpeg_stream(canvas->surface(), info[0]->NumberValue(), info[1]->NumberValue(), info[2]->BooleanValue(), &closure);
^
In file included from /home/jain/.node-gyp/10.16.0/include/node/v8.h:26:0,
from ../src/Canvas.h:11,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:2475:45: note: declared here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/home/jain/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
../src/Canvas.cc: In member function ‘void Canvas::resurface(v8::Localv8::Object)’:
../src/Canvas.cc:538:85: warning: ‘v8::Localv8::Object v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
Context2d *context2d = Nan::ObjectWrap::Unwrap(context->ToObject());
^
In file included from ../src/Canvas.h:11:0,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:10046:15: note: declared here
Local Value::ToObject() const {
^~~~~
../src/Canvas.cc:555:85: warning: ‘v8::Localv8::Object v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
Context2d *context2d = Nan::ObjectWrap::Unwrap(context->ToObject());
^
In file included from ../src/Canvas.h:11:0,
from ../src/Canvas.cc:7:
/home/jain/.node-gyp/10.16.0/include/node/v8.h:10046:15: note: declared here
Local Value::ToObject() const {
^~~~~
canvas.target.mk:133: recipe for target 'Release/obj.target/canvas/src/Canvas.o' failed
make: *** [Release/obj.target/canvas/src/Canvas.o] Error 1
make: Leaving directory '/home/jain/coops-demo/node_modules/canvas/build'
gyp ERR! build error
gyp ERR! stack Error:
makefailed with exit code: 2gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:198:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
gyp ERR! System Linux 4.15.0-29-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/jain/coops-demo/node_modules/canvas
gyp ERR! node -v v10.16.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN coops-demo@0.0.11 No license field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! canvas@1.3.9 install:
node-gyp rebuildnpm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the canvas@1.3.9 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/jain/.npm/_logs/2019-07-20T05_04_41_098Z-debug.log