title: npm doesn't install node-gyp, error: ‘class v8::Object’ has no member named ‘ForceSet’
body: <p>First project from work and got stuck with this tedious error on Ubuntu.</p>
  
  <p>Currently using node -v 13.8.0, installed python 2.7.17, GCC 7.5.0</p>
  
  <p>also checked node-gyp npm page and installed all python and gcc dependencies.
  here is my package.json file</p>
  
  <pre><code>  "dependencies": {
      "apn": "^2.1.5",
      "async": "^1.5.2",
      "bcrypt-nodejs": "^0.0.3",
      "body-parser": "^1.15.1",
      "compression": "^1.6.2",
      "consolidate": "^0.14.5",
      "cookie-parser": "^1.4.1",
      "cors": "^2.8.4",
      "dotenv": "^2.0.0",
      "express": "^4.13.4",
      "express-validator": "^2.20.4",
      "fcm-node": "^1.2.0",
      "geocoder": "^0.2.3",
      "jimp": "^0.2.28",
      "jsonwebtoken": "^5.7.0",
      "moment": "^2.12.0",
      "moment-timezone": "^0.5.14",
      "mongoose": "^4.4.8",
      "mongoose-unique-validator": "^1.0.6",
      "morgan": "^1.7.0",
      "multer": "^1.3.0",
      "mustache": "^2.3.0",
      "node-cron": "^1.2.1",
      "node-excel-export": "^1.4.4",
      "nodemailer": "^2.3.0",
      "nodemailer-mailgun-transport": "^1.3.5",
      "nodemailer-smtp-transport": "^2.7.4",
      "qr-image": "^3.2.0",
      "randomstring": "^1.1.5",
      "request": "^2.69.0",
      "soap": "^0.23.0",
      "socket.io": "^2.0.3",
      "strong-soap": "^1.5.0",
      "swagger-jsdoc": "^1.9.3",
      "swagger-ui-express": "^1.0.7",
      "time": "^0.12.0",
      "twilio": "^3.9.1",
      "underscore": "^1.8.3",
      "uuid": "^3.2.1",
      "ws.js": "^2.0.23"
    },
    "devDependencies": {},
    "engines": {
      "node": "6.9.5"
    }
  </code></pre>
  
  <pre><code>npm install
  
  &gt; ursa@0.9.4 install /home/shubham/Desktop/hotel/demo_hotellife_api/node_modules/ursa
  &gt; node-gyp rebuild
  
  make: Entering directory '/home/shubham/Desktop/hotel/demo_hotellife_api/node_modules/ursa/build'
    CXX(target) Release/obj.target/ursaNative/src/ursaNative.o
  In file included from ../../nan/nan.h:192:0,
                   from ../src/ursaNative.h:10,
                   from ../src/ursaNative.cc:3:
  ../../nan/nan_maybe_43_inl.h: In function ‘Nan::Maybe&lt;bool&gt; Nan::ForceSet(v8::Local&lt;v8::Object&gt;, v8::Local&lt;v8::Value&gt;, v8::Local&lt;v8::Value&gt;, v8::PropertyAttribute)’:
  ../../nan/nan_maybe_43_inl.h:112:15: error: ‘class v8::Object’ has no member named ‘ForceSet’
     return obj-&gt;ForceSet(isolate-&gt;GetCurrentContext(), key, value, attribs);
                 ^~~~~~~~
  In file included from ../../nan/nan_converters.h:67:0,
                   from ../../nan/nan.h:197,
                   from ../src/ursaNative.h:10,
                   from ../src/ursaNative.cc:3:
  ../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ToFactoryBase&lt;v8::Boolean&gt;::return_t Nan::imp::ToFactory&lt;v8::Boolean&gt;::convert(v8::Local&lt;v8::Value&gt;)’:
  ../../nan/nan_converters_43_inl.h:18:69: error: no matching function for call to ‘v8::Value::ToBoolean(v8::Local&lt;v8::Context&gt;)’
         val-&gt;To ## TYPE(v8::Isolate::GetCurrent()-&gt;GetCurrentContext())          \
                                                                       ^
  ../../nan/nan_converters_43_inl.h:22:1: note: in expansion of macro ‘X’
   X(Boolean)
   ^
  
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2750:44: note: candidate: v8::MaybeLocal&lt;v8::String&gt; v8::Value::ToString(v8::Local&lt;v8::Context&gt;) const
     V8_WARN_UNUSED_RESULT MaybeLocal&lt;String&gt; ToString(
                                              ^~~~~~~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2750:44: note:   candidate expects 1 argument, 0 provided
  In file included from ../src/time.cc:5:0:
  ../../nan/nan.h:921:74: error: no matching function for call to ‘v8::String::WriteUtf8(char*&amp;, int, int, const int&amp;)’
           length_ = string-&gt;WriteUtf8(str_, static_cast&lt;int&gt;(len), 0, flags);
                                                                            ^
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2947:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const
     int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
         ^~~~~~~~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2947:7: note:   no known conversion for argument 1 from ‘char*’ to ‘v8::Isolate*’
  In file included from ../src/time.cc:5:0:
  ../../nan/nan.h: In member function ‘v8::Local&lt;v8::Value&gt; Nan::Callback::Call_(v8::Isolate*, v8::Local&lt;v8::Object&gt;, int, v8::Local&lt;v8::Value&gt;*) const’:
  ../../nan/nan.h:1479:5: warning: ‘v8::Local&lt;v8::Value&gt; node::MakeCallback(v8::Isolate*, v8::Local&lt;v8::Object&gt;, v8::Local&lt;v8::Function&gt;, int, v8::Local&lt;v8::Value&gt;*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
       ));
       ^
  In file included from ../../nan/nan.h:49:0,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:180:50: note: declared here
                   NODE_EXTERN v8::Local&lt;v8::Value&gt; MakeCallback(
                                                    ^
  /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:99:42: note: in definition of macro ‘NODE_DEPRECATED’
       __attribute__((deprecated(message))) declarator
                                            ^~~~~~~~~~
  In file included from ../src/time.cc:5:0:
  ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local&lt;v8::Value&gt;&amp;)’:
  ../../nan/nan.h:1533:64: error: no matching function for call to ‘v8::Object::Set(v8::Local&lt;v8::String&gt;, const v8::Local&lt;v8::Value&gt;&amp;)’
       New(persistentHandle)-&gt;Set(New(key).ToLocalChecked(), value);
                                                                  ^
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3547:37: note: candidate: v8::Maybe&lt;bool&gt; v8::Object::Set(v8::Local&lt;v8::Context&gt;, v8::Local&lt;v8::Value&gt;, v8::Local&lt;v8::Value&gt;)
     V8_WARN_UNUSED_RESULT Maybe&lt;bool&gt; Set(Local&lt;Context&gt; context,
                                       ^~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3547:37: note:   candidate expects 3 arguments, 2 provided
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3550:37: note: candidate: v8::Maybe&lt;bool&gt; v8::Object::Set(v8::Local&lt;v8::Context&gt;, uint32_t, v8::Local&lt;v8::Value&gt;)
     V8_WARN_UNUSED_RESULT Maybe&lt;bool&gt; Set(Local&lt;Context&gt; context, uint32_t index,
                                       ^~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3550:37: note:   candidate expects 3 arguments, 2 provided
  In file included from ../src/time.cc:5:0:
  ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Local&lt;v8::String&gt;&amp;, const v8::Local&lt;v8::Value&gt;&amp;)’:
  ../../nan/nan.h:1539:42: error: no matching function for call to ‘v8::Object::Set(const v8::Local&lt;v8::String&gt;&amp;, const v8::Local&lt;v8::Value&gt;&amp;)’
       New(persistentHandle)-&gt;Set(key, value);
                                            ^
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3547:37: note: candidate: v8::Maybe&lt;bool&gt; v8::Object::Set(v8::Local&lt;v8::Context&gt;, v8::Local&lt;v8::Value&gt;, v8::Local&lt;v8::Value&gt;)
     V8_WARN_UNUSED_RESULT Maybe&lt;bool&gt; Set(Local&lt;Context&gt; context,
                                       ^~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3547:37: note:   candidate expects 3 arguments, 2 provided
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3550:37: note: candidate: v8::Maybe&lt;bool&gt; v8::Object::Set(v8::Local&lt;v8::Context&gt;, uint32_t, v8::Local&lt;v8::Value&gt;)
     V8_WARN_UNUSED_RESULT Maybe&lt;bool&gt; Set(Local&lt;Context&gt; context, uint32_t index,
                                       ^~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3550:37: note:   candidate expects 3 arguments, 2 provided
  In file included from ../src/time.cc:5:0:
  ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local&lt;v8::Value&gt;&amp;)’:
  ../../nan/nan.h:1545:44: error: no matching function for call to ‘v8::Object::Set(uint32_t&amp;, const v8::Local&lt;v8::Value&gt;&amp;)’
       New(persistentHandle)-&gt;Set(index, value);
                                              ^
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3547:37: note: candidate: v8::Maybe&lt;bool&gt; v8::Object::Set(v8::Local&lt;v8::Context&gt;, v8::Local&lt;v8::Value&gt;, v8::Local&lt;v8::Value&gt;)
     V8_WARN_UNUSED_RESULT Maybe&lt;bool&gt; Set(Local&lt;Context&gt; context,
                                       ^~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3547:37: note:   candidate expects 3 arguments, 2 provided
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3550:37: note: candidate: v8::Maybe&lt;bool&gt; v8::Object::Set(v8::Local&lt;v8::Context&gt;, uint32_t, v8::Local&lt;v8::Value&gt;)
     V8_WARN_UNUSED_RESULT Maybe&lt;bool&gt; Set(Local&lt;Context&gt; context, uint32_t index,
                                       ^~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3550:37: note:   candidate expects 3 arguments, 2 provided
  In file included from ../src/time.cc:5:0:
  ../../nan/nan.h: In member function ‘v8::Local&lt;v8::Value&gt; Nan::AsyncWorker::GetFromPersistent(const char*) const’:
  ../../nan/nan.h:1551:61: error: no matching function for call to ‘v8::Object::Get(v8::Local&lt;v8::String&gt;)’
           New(persistentHandle)-&gt;Get(New(key).ToLocalChecked()));
                                                               ^
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3594:43: note: candidate: v8::MaybeLocal&lt;v8::Value&gt; v8::Object::Get(v8::Local&lt;v8::Context&gt;, v8::Local&lt;v8::Value&gt;)
     V8_WARN_UNUSED_RESULT MaybeLocal&lt;Value&gt; Get(Local&lt;Context&gt; context,
                                             ^~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3594:43: note:   candidate expects 2 arguments, 1 provided
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3597:43: note: candidate: v8::MaybeLocal&lt;v8::Value&gt; v8::Object::Get(v8::Local&lt;v8::Context&gt;, uint32_t)
     V8_WARN_UNUSED_RESULT MaybeLocal&lt;Value&gt; Get(Local&lt;Context&gt; context,
                                             ^~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3597:43: note:   candidate expects 2 arguments, 1 provided
  In file included from ../src/time.cc:5:0:
  ../../nan/nan.h: In member function ‘v8::Local&lt;v8::Value&gt; Nan::AsyncWorker::GetFromPersistent(const v8::Local&lt;v8::String&gt;&amp;) const’:
  ../../nan/nan.h:1557:55: error: no matching function for call to ‘v8::Object::Get(const v8::Local&lt;v8::String&gt;&amp;)’
       return scope.Escape(New(persistentHandle)-&gt;Get(key));
                                                         ^
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3594:43: note: candidate: v8::MaybeLocal&lt;v8::Value&gt; v8::Object::Get(v8::Local&lt;v8::Context&gt;, v8::Local&lt;v8::Value&gt;)
     V8_WARN_UNUSED_RESULT MaybeLocal&lt;Value&gt; Get(Local&lt;Context&gt; context,
                                             ^~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3594:43: note:   candidate expects 2 arguments, 1 provided
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3597:43: note: candidate: v8::MaybeLocal&lt;v8::Value&gt; v8::Object::Get(v8::Local&lt;v8::Context&gt;, uint32_t)
     V8_WARN_UNUSED_RESULT MaybeLocal&lt;Value&gt; Get(Local&lt;Context&gt; context,
                                             ^~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3597:43: note:   candidate expects 2 arguments, 1 provided
  In file included from ../src/time.cc:5:0:
  ../../nan/nan.h: In member function ‘v8::Local&lt;v8::Value&gt; Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
  ../../nan/nan.h:1562:57: error: no matching function for call to ‘v8::Object::Get(uint32_t&amp;)’
       return scope.Escape(New(persistentHandle)-&gt;Get(index));
                                                           ^
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3594:43: note: candidate: v8::MaybeLocal&lt;v8::Value&gt; v8::Object::Get(v8::Local&lt;v8::Context&gt;, v8::Local&lt;v8::Value&gt;)
     V8_WARN_UNUSED_RESULT MaybeLocal&lt;Value&gt; Get(Local&lt;Context&gt; context,
                                             ^~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3594:43: note:   candidate expects 2 arguments, 1 provided
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3597:43: note: candidate: v8::MaybeLocal&lt;v8::Value&gt; v8::Object::Get(v8::Local&lt;v8::Context&gt;, uint32_t)
     V8_WARN_UNUSED_RESULT MaybeLocal&lt;Value&gt; Get(Local&lt;Context&gt; context,
                                             ^~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:3597:43: note:   candidate expects 2 arguments, 1 provided
  In file included from /usr/include/c++/7/cassert:44:0,
                   from /home/shubham/.cache/node-gyp/13.8.0/include/node/node_object_wrap.h:26,
                   from ../../nan/nan.h:51,
                   from ../src/time.cc:5:
  ../../nan/nan_object_wrap.h: In destructor ‘virtual Nan::ObjectWrap::~ObjectWrap()’:
  ../../nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistent&lt;v8::Object&gt;’ has no member named ‘IsNearDeath’
       assert(persistent().IsNearDeath());
                           ^
  In file included from ../../nan/nan.h:2222:0,
                   from ../src/time.cc:5:
  ../../nan/nan_object_wrap.h: In member function ‘void Nan::ObjectWrap::MakeWeak()’:
  ../../nan/nan_object_wrap.h:67:18: error: ‘class Nan::Persistent&lt;v8::Object&gt;’ has no member named ‘MarkIndependent’
       persistent().MarkIndependent();
                    ^~~~~~~~~~~~~~~
  In file included from /usr/include/c++/7/cassert:44:0,
                   from /home/shubham/.cache/node-gyp/13.8.0/include/node/node_object_wrap.h:26,
                   from ../../nan/nan.h:51,
                   from ../src/time.cc:5:
  ../../nan/nan_object_wrap.h: In static member function ‘static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo&lt;Nan::ObjectWrap&gt;&amp;)’:
  ../../nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent&lt;v8::Object&gt;’ has no member named ‘IsNearDeath’
       assert(wrap-&gt;handle_.IsNearDeath());
                            ^
  ../src/time.cc: At global scope:
  ../src/time.cc:12:20: error: ‘Handle’ has not been declared
     static void Init(Handle&lt;Object&gt; target) {
                      ^~~~~~
  ../src/time.cc:12:26: error: expected ‘,’ or ‘...’ before ‘&lt;’ token
     static void Init(Handle&lt;Object&gt; target) {
                            ^
  ../src/time.cc: In static member function ‘static void Time::Init(int)’:
  ../src/time.cc:16:20: error: ‘target’ was not declared in this scope
       Nan::SetMethod(target, "time", Time_);
                      ^~~~~~
  ../src/time.cc:16:20: note: suggested alternative: ‘tzset’
       Nan::SetMethod(target, "time", Time_);
                      ^~~~~~
                      tzset
  ../src/time.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Time::Localtime(Nan::NAN_METHOD_ARGS_TYPE)’:
  ../src/time.cc:87:64: error: no matching function for call to ‘v8::Value::IntegerValue()’
       time_t rawtime = static_cast&lt;time_t&gt;(info[0]-&gt;IntegerValue());
                                                                  ^
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2774:40: note: candidate: v8::Maybe&lt;long int&gt; v8::Value::IntegerValue(v8::Local&lt;v8::Context&gt;) const
     V8_WARN_UNUSED_RESULT Maybe&lt;int64_t&gt; IntegerValue(
                                          ^~~~~~~~~~~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2774:40: note:   candidate expects 1 argument, 0 provided
  ../src/time.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Time::Mktime(Nan::NAN_METHOD_ARGS_TYPE)’:
  ../src/time.cc:141:103: error: no matching function for call to ‘v8::Value::Int32Value()’
       tmstr.tm_sec   = Nan::Get(arg, Nan::New("seconds").ToLocalChecked()).ToLocalChecked()-&gt;Int32Value();
                                                                                                         ^
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2778:40: note: candidate: v8::Maybe&lt;int&gt; v8::Value::Int32Value(v8::Local&lt;v8::Context&gt;) const
     V8_WARN_UNUSED_RESULT Maybe&lt;int32_t&gt; Int32Value(Local&lt;Context&gt; context) const;
                                          ^~~~~~~~~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2778:40: note:   candidate expects 1 argument, 0 provided
  ../src/time.cc:142:103: error: no matching function for call to ‘v8::Value::Int32Value()’
       tmstr.tm_min   = Nan::Get(arg, Nan::New("minutes").ToLocalChecked()).ToLocalChecked()-&gt;Int32Value();
                                                                                                         ^
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2778:40: note: candidate: v8::Maybe&lt;int&gt; v8::Value::Int32Value(v8::Local&lt;v8::Context&gt;) const
     V8_WARN_UNUSED_RESULT Maybe&lt;int32_t&gt; Int32Value(Local&lt;Context&gt; context) const;
                                          ^~~~~~~~~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2778:40: note:   candidate expects 1 argument, 0 provided
  ../src/time.cc:143:101: error: no matching function for call to ‘v8::Value::Int32Value()’
       tmstr.tm_hour  = Nan::Get(arg, Nan::New("hours").ToLocalChecked()).ToLocalChecked()-&gt;Int32Value();
                                                                                                       ^
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2778:40: note: candidate: v8::Maybe&lt;int&gt; v8::Value::Int32Value(v8::Local&lt;v8::Context&gt;) const
     V8_WARN_UNUSED_RESULT Maybe&lt;int32_t&gt; Int32Value(Local&lt;Context&gt; context) const;
                                          ^~~~~~~~~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2778:40: note:   candidate expects 1 argument, 0 provided
  ../src/time.cc:144:106: error: no matching function for call to ‘v8::Value::Int32Value()’
       tmstr.tm_mday  = Nan::Get(arg, Nan::New("dayOfMonth").ToLocalChecked()).ToLocalChecked()-&gt;Int32Value();
                                                                                                            ^
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2778:40: note: candidate: v8::Maybe&lt;int&gt; v8::Value::Int32Value(v8::Local&lt;v8::Context&gt;) const
     V8_WARN_UNUSED_RESULT Maybe&lt;int32_t&gt; Int32Value(Local&lt;Context&gt; context) const;
                                          ^~~~~~~~~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2778:40: note:   candidate expects 1 argument, 0 provided
  ../src/time.cc:145:101: error: no matching function for call to ‘v8::Value::Int32Value()’
       tmstr.tm_mon   = Nan::Get(arg, Nan::New("month").ToLocalChecked()).ToLocalChecked()-&gt;Int32Value();
                                                                                                       ^
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2778:40: note: candidate: v8::Maybe&lt;int&gt; v8::Value::Int32Value(v8::Local&lt;v8::Context&gt;) const
     V8_WARN_UNUSED_RESULT Maybe&lt;int32_t&gt; Int32Value(Local&lt;Context&gt; context) const;
                                          ^~~~~~~~~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2778:40: note:   candidate expects 1 argument, 0 provided
  ../src/time.cc:146:100: error: no matching function for call to ‘v8::Value::Int32Value()’
       tmstr.tm_year  = Nan::Get(arg, Nan::New("year").ToLocalChecked()).ToLocalChecked()-&gt;Int32Value();
                                                                                                      ^
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2778:40: note: candidate: v8::Maybe&lt;int&gt; v8::Value::Int32Value(v8::Local&lt;v8::Context&gt;) const
     V8_WARN_UNUSED_RESULT Maybe&lt;int32_t&gt; Int32Value(Local&lt;Context&gt; context) const;
                                          ^~~~~~~~~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2778:40: note:   candidate expects 1 argument, 0 provided
  ../src/time.cc:147:113: error: no matching function for call to ‘v8::Value::Int32Value()’
       tmstr.tm_isdst = Nan::Get(arg, Nan::New("isDaylightSavings").ToLocalChecked()).ToLocalChecked()-&gt;Int32Value();
                                                                                                                   ^
  In file included from /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:63:0,
                   from ../../nan/nan.h:49,
                   from ../src/time.cc:5:
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2778:40: note: candidate: v8::Maybe&lt;int&gt; v8::Value::Int32Value(v8::Local&lt;v8::Context&gt;) const
     V8_WARN_UNUSED_RESULT Maybe&lt;int32_t&gt; Int32Value(Local&lt;Context&gt; context) const;
                                          ^~~~~~~~~~
  /home/shubham/.cache/node-gyp/13.8.0/include/node/v8.h:2778:40: note:   candidate expects 1 argument, 0 provided
  ../src/time.cc: At global scope:
  ../src/time.cc:156:21: error: variable or field ‘init’ declared void
     static void init (Handle&lt;Object&gt; target) {
                       ^~~~~~
  ../src/time.cc:156:21: error: ‘Handle’ was not declared in this scope
  ../src/time.cc:156:21: note: suggested alternative: ‘rand_r’
     static void init (Handle&lt;Object&gt; target) {
                       ^~~~~~
                       rand_r
  ../src/time.cc:156:34: error: expected primary-expression before ‘&gt;’ token
     static void init (Handle&lt;Object&gt; target) {
                                    ^
  ../src/time.cc:156:36: error: ‘target’ was not declared in this scope
     static void init (Handle&lt;Object&gt; target) {
                                      ^~~~~~
  ../src/time.cc:156:36: note: suggested alternative: ‘tzset’
     static void init (Handle&lt;Object&gt; target) {
                                      ^~~~~~
                                      tzset
  In file included from ../../nan/nan.h:49:0,
                   from ../src/time.cc:5:
  ../src/time.cc:159:21: error: ‘init’ was not declared in this scope
     NODE_MODULE(time, init)
                       ^
  /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:610:36: note: in definition of macro ‘NODE_MODULE_X’
         (node::addon_register_func) (regfunc),                          \
                                      ^~~~~~~
  ../src/time.cc:159:3: note: in expansion of macro ‘NODE_MODULE’
     NODE_MODULE(time, init)
     ^~~~~~~~~~~
  ../src/time.cc:159:21: note: suggested alternative: ‘int’
     NODE_MODULE(time, init)
                       ^
  /home/shubham/.cache/node-gyp/13.8.0/include/node/node.h:610:36: note: in definition of macro ‘NODE_MODULE_X’
         (node::addon_register_func) (regfunc),                          \
                                      ^~~~~~~
  ../src/time.cc:159:3: note: in expansion of macro ‘NODE_MODULE’
     NODE_MODULE(time, init)
     ^~~~~~~~~~~
  time.target.mk:113: recipe for target 'Release/obj.target/time/src/time.o' failed
  make: *** [Release/obj.target/time/src/time.o] Error 1
  make: Leaving directory '/home/shubham/Desktop/hotel/demo_hotellife_api/node_modules/time/build'
  gyp ERR! build error 
  gyp ERR! stack Error: `make` failed with exit code: 2
  gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
  gyp ERR! stack     at ChildProcess.emit (events.js:321:20)
  gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
  gyp ERR! System Linux 5.0.0-37-generic
  gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
  gyp ERR! cwd /home/shubham/Desktop/hotel/demo_hotellife_api/node_modules/time
  gyp ERR! node -v v13.8.0
  gyp ERR! node-gyp -v v5.0.5
  gyp ERR! not ok 
  npm WARN Trump@1.0.0 No repository field.
  npm WARN Trump@1.0.0 No license field.
  npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.2 (node_modules/fsevents):
  npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
  npm WARN optional SKIPPING OPTIONAL DEPENDENCY: ursa@0.9.4 (node_modules/ursa):
  npm WARN optional SKIPPING OPTIONAL DEPENDENCY: ursa@0.9.4 install: `node-gyp rebuild`
  npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
  
  npm ERR! code ELIFECYCLE
  npm ERR! errno 1
  npm ERR! time@0.12.0 install: `node-gyp rebuild`
  npm ERR! Exit status 1
  npm ERR! 
  npm ERR! Failed at the time@0.12.0 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/shubham/.npm/_logs/2020-05-07T11_31_00_132Z-debug.log
  </code></pre>
  
  <p><strong>Things I tried</strong>
  downgraded to various node versions like to v8.11.0- same problem</p>
  
  <p>downgraded node to v6.9.5 as mentioned in package.json file. but there started getting various 
  JS versioning errors like '...Object' not supported. not supporting es6.</p>
  
  <p>installed node-gyp globally, still nothing resolved.</p>
  
  <p>please help me on my maiden command of my maiden project</p>