Monday 8 May 2017

Unable to locally update or install mongojs module for NodeJS

I have a NodeJS server using the following modules:

enter image description here

The server was developed using NodeJS 4.X LTS and works just fine. I am however trying to upgrade to NodeJS 6.X LTS and it seems the mongojs module I was using it's no longer compatible with this version. Unfortunately I am unable to update it or to install the latest version.

I tried doing so on both, Windows and MacOS and the result was the same.

If I try npm install mongojs on MacOS I get this:

    Last login: Mon May  8 12:55:51 on ttys003
Bogdans-MBP:mongojs bogdangheorghe$ ls
Bogdans-MBP:mongojs bogdangheorghe$ sudo npm install mongojs
Password:
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue

> java@0.4.2 install /Users/bogdangheorghe/Workspace/Servers/RCPHelper_Server/RCPHelper_Server/node_modules/java
> node-gyp rebuild

  CXX(target) Release/obj.target/nodejavabridge_bindings/src/java.o
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:342:68: error: too many arguments to function call, expected at most 2, have 4
    return v8::Signature::New(v8::Isolate::GetCurrent(), receiver, argc, argv);
           ~~~~~~~~~~~~~~~~~~                                      ^~~~~~~~~~
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:4833:3: note: 'New' declared here
  static Local<Signature> New(
  ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:397:32: warning: 'CompileUnbound' is deprecated [-Wdeprecated-declarations]
    return v8::ScriptCompiler::CompileUnbound(
                               ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:1334:45: note: 'CompileUnbound' has been explicitly marked deprecated here
                       Local<UnboundScript> CompileUnbound(
                                            ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:406:32: warning: 'CompileUnbound' is deprecated [-Wdeprecated-declarations]
    return v8::ScriptCompiler::CompileUnbound(
                               ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:1334:45: note: 'CompileUnbound' has been explicitly marked deprecated here
                       Local<UnboundScript> CompileUnbound(
                                            ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:412:31: warning: 'New' is deprecated [-Wdeprecated-declarations]
    return v8::BooleanObject::New(value).As<v8::BooleanObject>();
                              ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:4008:56: note: 'New' has been explicitly marked deprecated here
  V8_DEPRECATED("Pass an isolate", static Local<Value> New(bool value));
                                                       ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:424:3: error: redefinition of 'NanNew'
  NanNew<v8::StringObject, v8::Handle<v8::String> >(
  ^
../../nan/nan.h:417:3: note: previous definition is here
  NanNew<v8::StringObject, v8::Local<v8::String> >(
  ^
../../nan/nan.h:442:36: error: redefinition of 'NanNew'
  NAN_INLINE v8::Local<v8::RegExp> NanNew(
                                   ^
../../nan/nan.h:436:36: note: previous definition is here
  NAN_INLINE v8::Local<v8::RegExp> NanNew(
                                   ^
../../nan/nan.h:454:36: error: redefinition of 'NanNew'
  NAN_INLINE v8::Local<v8::RegExp> NanNew(
                                   ^
../../nan/nan.h:448:36: note: previous definition is here
  NAN_INLINE v8::Local<v8::RegExp> NanNew(
                                   ^
../../nan/nan.h:462:42: warning: 'ToUint32' is deprecated [-Wdeprecated-declarations]
        v8::Isolate::GetCurrent(), val)->ToUint32();
                                         ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:8196:22: note: 'ToUint32' has been explicitly marked deprecated here
Local<Uint32> Value::ToUint32() const {
                     ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:468:42: warning: 'ToUint32' is deprecated [-Wdeprecated-declarations]
        v8::Isolate::GetCurrent(), val)->ToUint32();
                                         ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:8196:22: note: 'ToUint32' has been explicitly marked deprecated here
Local<Uint32> Value::ToUint32() const {
                     ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:473:60: warning: 'ToInt32' is deprecated [-Wdeprecated-declarations]
    return v8::Int32::New(v8::Isolate::GetCurrent(), val)->ToInt32();
                                                           ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:8202:21: note: 'ToInt32' has been explicitly marked deprecated here
Local<Int32> Value::ToInt32() const {
                    ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:478:60: warning: 'ToInt32' is deprecated [-Wdeprecated-declarations]
    return v8::Int32::New(v8::Isolate::GetCurrent(), val)->ToInt32();
                                                           ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:8202:21: note: 'ToInt32' has been explicitly marked deprecated here
Local<Int32> Value::ToInt32() const {
                    ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:518:24: warning: 'NewFromOneByte' is deprecated [-Wdeprecated-declarations]
    return v8::String::NewFromOneByte(
                       ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:2334:21: note: 'NewFromOneByte' has been explicitly marked deprecated here
      Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
                    ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:529:24: warning: 'NewFromOneByte' is deprecated [-Wdeprecated-declarations]
    return v8::String::NewFromOneByte(
                       ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:2334:21: note: 'NewFromOneByte' has been explicitly marked deprecated here
      Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
                    ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:538:24: warning: 'NewFromOneByte' is deprecated [-Wdeprecated-declarations]
    return v8::String::NewFromOneByte(v8::Isolate::GetCurrent(), arg);
                       ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:2334:21: note: 'NewFromOneByte' has been explicitly marked deprecated here
      Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
                    ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:544:24: warning: 'NewFromOneByte' is deprecated [-Wdeprecated-declarations]
    return v8::String::NewFromOneByte(v8::Isolate::GetCurrent(), arg);
                       ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:2334:21: note: 'NewFromOneByte' has been explicitly marked deprecated here
      Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
                    ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:619:24: warning: 'NewExternal' is deprecated [-Wdeprecated-declarations]
    return v8::String::NewExternal(v8::Isolate::GetCurrent(), resource);
                       ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:2372:38: note: 'NewExternal' has been explicitly marked deprecated here
                       Local<String> NewExternal(
                                     ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:623:19: error: no type named 'ExternalAsciiStringResource' in 'v8::String'; did you mean 'ExternalStringResource'?
      v8::String::ExternalAsciiStringResource *resource) {
      ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
                  ExternalStringResource
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:2241:19: note: 'ExternalStringResource' declared here
  class V8_EXPORT ExternalStringResource
                  ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:622:36: error: redefinition of 'NanNew'
  NAN_INLINE v8::Local<v8::String> NanNew(
                                   ^
../../nan/nan.h:617:36: note: previous definition is here
  NAN_INLINE v8::Local<v8::String> NanNew(
                                   ^
../../nan/nan.h:624:24: warning: 'NewExternal' is deprecated [-Wdeprecated-declarations]
    return v8::String::NewExternal(v8::Isolate::GetCurrent(), resource);
                       ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:2372:38: note: 'NewExternal' has been explicitly marked deprecated here
                       Local<String> NewExternal(
                                     ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:637:27: error: redefinition of '_NanEscapeScopeHelper'
  NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Local<T> val) {
                          ^
../../nan/nan.h:632:27: note: previous definition is here
  NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Handle<T> val) {
                          ^
../../nan/nan.h:653:12: error: no matching function for call to '_NanEscapeScopeHelper'
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h:641:43: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEscapeScopeHelper(val))
                                          ^~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h:637:27: note: candidate template ignored: substitution failure [with T = v8::Primitive]
  NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Local<T> val) {
                          ^
../../nan/nan.h:658:12: error: no matching function for call to '_NanEscapeScopeHelper'
    return NanEscapeScope(NanNew(v8::Null(v8::Isolate::GetCurrent())));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h:641:43: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEscapeScopeHelper(val))
                                          ^~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h:637:27: note: candidate template ignored: substitution failure [with T = v8::Primitive]
  NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Local<T> val) {
                          ^
../../nan/nan.h:663:12: error: no matching function for call to '_NanEscapeScopeHelper'
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h:641:43: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEscapeScopeHelper(val))
                                          ^~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h:637:27: note: candidate template ignored: substitution failure [with T = v8::Boolean]
  NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Local<T> val) {
                          ^
../../nan/nan.h:668:12: error: no matching function for call to '_NanEscapeScopeHelper'
    return NanEscapeScope(NanNew(v8::False(v8::Isolate::GetCurrent())));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h:641:43: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEscapeScopeHelper(val))
                                          ^~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h:637:27: note: candidate template ignored: substitution failure [with T = v8::Boolean]
  NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Local<T> val) {
                          ^
../../nan/nan.h:701:20: error: no type named 'GCEpilogueCallback' in 'v8::Isolate'
      v8::Isolate::GCEpilogueCallback callback
      ~~~~~~~~~~~~~^
../../nan/nan.h:707:20: error: no type named 'GCEpilogueCallback' in 'v8::Isolate'
      v8::Isolate::GCEpilogueCallback callback) {
      ~~~~~~~~~~~~~^
../../nan/nan.h:712:20: error: no type named 'GCPrologueCallback' in 'v8::Isolate'
      v8::Isolate::GCPrologueCallback callback
      ~~~~~~~~~~~~~^
../../nan/nan.h:718:20: error: no type named 'GCPrologueCallback' in 'v8::Isolate'
      v8::Isolate::GCPrologueCallback callback) {
      ~~~~~~~~~~~~~^
../../nan/nan.h:889:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../../nan/nan.h:900:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/node_buffer.h:46:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/node_buffer.h:34:40: note: candidate function not viable: no known conversion from 'const char *' to 'v8::Local<v8::String>' for 2nd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/node_buffer.h:31:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/node_buffer.h:39:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:904:12: error: no viable conversion from returned value of type 'v8::MaybeLocal<v8::Object>' to function return type 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:218:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to
      'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:218:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to
      'v8::Local<v8::Object> &&' for 1st argument
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:222:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:911:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
../../nan/nan.h:938:32: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
    return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
                               ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:1354:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
In file included from ../src/java.cpp:2:
In file included from ../src/java.h:9:
../../nan/nan.h:945:32: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
    return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
                               ^
/Users/bogdangheorghe/.node-gyp/6.10.3/include/node/v8.h:1354:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
15 warnings and 20 errors generated.
make: *** [Release/obj.target/nodejavabridge_bindings/src/java.o] Error 1
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:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 16.5.0
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 /Users/bogdangheorghe/Workspace/Servers/RCPHelper_Server/RCPHelper_Server/node_modules/java
gyp ERR! node -v v6.10.3
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 
/Users/bogdangheorghe/Workspace/Servers/RCPHelper_Server/RCPHelper_Server
└── (empty)

npm WARN enoent ENOENT: no such file or directory, open '/Users/bogdangheorghe/Workspace/Servers/RCPHelper_Server/RCPHelper_Server/package.json'
npm WARN RCPHelper_Server No description
npm WARN RCPHelper_Server No repository field.
npm WARN RCPHelper_Server No README data
npm WARN RCPHelper_Server No license field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: java@0.4.2 (node_modules/java):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: java@0.4.2 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm ERR! code 1
Bogdans-MBP:mongojs bogdangheorghe$ 

I then tried removing mongojs, manually download it from here: https://github.com/mafintosh/mongojs and then do a npm install package.json using the package.json file that came with the package and I got this:

Bogdans-MBP:mongojs bogdangheorghe$ ls
CHANGELOG.md    CONTRIBUTING.md LICENSE     README.md   index.js    lib     package.json    release.js  test
Bogdans-MBP:mongojs bogdangheorghe$ sudo npm install package.json
npm ERR! not a package /Users/bogdangheorghe/Workspace/Servers/RCPHelper_Server/RCPHelper_Server/node_modules/mongojs/package.json
npm ERR! addLocal Could not install /Users/bogdangheorghe/Workspace/Servers/RCPHelper_Server/RCPHelper_Server/node_modules/mongojs/package.json
npm ERR! Darwin 16.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "package.json"
npm ERR! node v6.10.3
npm ERR! npm  v3.10.10
npm ERR! path /tmp/npm-76762-ff2259cf/unpack-aba50b3b/package.json
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open

npm ERR! enoent ENOENT: no such file or directory, open '/tmp/npm-76762-ff2259cf/unpack-aba50b3b/package.json'
npm ERR! enoent ENOENT: no such file or directory, open '/tmp/npm-76762-ff2259cf/unpack-aba50b3b/package.json'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent 

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/bogdangheorghe/Workspace/Servers/RCPHelper_Server/RCPHelper_Server/node_modules/mongojs/npm-debug.log
Bogdans-MBP:mongojs bogdangheorghe$ 

Same result on Windows 10:

enter image description here

I also tried reinstalling Node without any luck. I've been struggling to fix this for almost a day now and had zero success so far. What am I doing wrong here?



via daydr3am3r

No comments:

Post a Comment