Upgrade from 1.8.1 to 1.8.2 failed


  • I wanted to upgrade to 1.8.2 today but ./nodebb upgrade failed with:

    [..]
    74034 verbose stack Error: heapdump@0.3.7 install: `node-gyp rebuild`
    74034 verbose stack Exit status 1
    74034 verbose stack     at EventEmitter.<anonymous> (/package/host/localhost/nodejs-6.13.1/lib/node_modules/npm/lib/utils/lifecycle.js:255:16)
    74034 verbose stack     at emitTwo (events.js:106:13)
    74034 verbose stack     at EventEmitter.emit (events.js:191:7)
    74034 verbose stack     at ChildProcess.<anonymous> (/package/host/localhost/nodejs-6.13.1/lib/node_modules/npm/lib/utils/spawn.js:40:14)
    74034 verbose stack     at emitTwo (events.js:106:13)
    74034 verbose stack     at ChildProcess.emit (events.js:191:7)
    74034 verbose stack     at maybeClose (internal/child_process.js:920:16)
    74034 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5)
    74035 verbose pkgid heapdump@0.3.7
    74036 verbose cwd /home/curv/nodebb
    74037 error Linux 2.6.32-696.18.7.el6.x86_64
    74038 error argv "/package/host/localhost/nodejs-6.13.1/bin/node" "/package/host/localhost/nodejs-6/bin/npm" "i" "--production"
    74039 error node v6.13.1
    74040 error npm  v3.10.10
    74041 error code ELIFECYCLE
    74042 error heapdump@0.3.7 install: `node-gyp rebuild`
    74042 error Exit status 1
    74043 error Failed at the heapdump@0.3.7 install script 'node-gyp rebuild'.
    74043 error Make sure you have the latest version of node.js and npm installed.
    74043 error If you do, this is most likely a problem with the heapdump package,
    74043 error not with npm itself.
    74043 error Tell the author that this fails on your system:
    74043 error     node-gyp rebuild
    74043 error You can get information on how to open an issue for this project with:
    74043 error     npm bugs heapdump
    74043 error Or if that isn't available, you can get their info via:
    74043 error     npm owner ls heapdump
    74043 error There is likely additional logging output above.
    74044 verbose exit [ 1, true ]
    

    Now what? (and, how do I downgrade?)


  • It also fails with node 8:

    1005 verbose stack Error: heapdump@0.3.7 install: `node-gyp rebuild`
    1005 verbose stack Exit status 1
    1005 verbose stack     at EventEmitter.<anonymous> (/package/host/localhost/nodejs-8.10.0/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:285:16)
    1005 verbose stack     at emitTwo (events.js:126:13)
    1005 verbose stack     at EventEmitter.emit (events.js:214:7)
    1005 verbose stack     at ChildProcess.<anonymous> (/package/host/localhost/nodejs-8.10.0/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
    1005 verbose stack     at emitTwo (events.js:126:13)
    1005 verbose stack     at ChildProcess.emit (events.js:214:7)
    1005 verbose stack     at maybeClose (internal/child_process.js:925:16)
    1005 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
    1006 verbose pkgid heapdump@0.3.7
    1007 verbose cwd /home/curv/nodebb
    1008 verbose Linux 2.6.32-696.18.7.el6.x86_64
    1009 verbose argv "/package/host/localhost/nodejs-8.10.0/bin/node" "/package/host/localhost/nodejs-8/bin/npm" "i" "--production"
    1010 verbose node v8.10.0
    1011 verbose npm  v5.6.0
    1012 error code ELIFECYCLE
    1013 error errno 1
    1014 error heapdump@0.3.7 install: `node-gyp rebuild`
    1014 error Exit status 1
    1015 error Failed at the heapdump@0.3.7 install script.
    1015 error This is probably not a problem with npm. There is likely additional logging output above.
    1016 verbose exit [ 1, true ]
    


  • I also tried:

    rm -rf node_modules
    npm cache clear
    npm i
    

    with the same results and any nodejs version: it fails to build heapdump.

    So, I'm offline now, any help is very appreciated!

    Tom


  • How can I install the script?


  • @serdo said in Upgrade from 1.8.1 to 1.8.2 failed:

    How can I install the script?

    pls open your own thread, thx.

  • Admin NodeBB

    @tlinden try this npm r heapdump then then npm i again. Also make sure heapdump isn't in package.json. Also keep in mind if you use npm@5 it can remove plugins in node_modules folder if they are not saved in package.json.


  • I'm not sure if I agree with npm's idea of package management:

    % npm r heapdump
    npm ERR! Linux 2.6.32-696.18.7.el6.x86_64
    npm ERR! argv "/package/host/localhost/nodejs-6.13.1/bin/node" "/package/host/localhost/nodejs-6/bin/npm" "r" "heapdump"
    npm ERR! node v6.13.1
    npm ERR! npm  v3.10.10
    npm ERR! path /home/curv/tmp/nodebb/node_modules/nodebb-plugin-write-api
    npm ERR! code EISGIT
    
    npm ERR! git /home/curv/tmp/nodebb/node_modules/nodebb-plugin-write-api: Appears to be a git repo or submodule.
    npm ERR! git     /home/curv/tmp/nodebb/node_modules/nodebb-plugin-write-api
    npm ERR! git Refusing to remove it. Update manually,
    npm ERR! git or move it out of the way first.
    
    npm ERR! Please include the following file with any support request:
    npm ERR!     /home/curv/tmp/nodebb/npm-debug.log
    

    WTF?

    However, since this is a test folder anyway, I just removed the plugin, did the npm r heapdump && npm cache clean, removed "heapdump" from package.json, checked if it is referenced in any other module (it is not), checked if the directory node_modules/heapdump doesn't exist anymore (it didn't) and executed npm i afterwards.

    It seems that it updated all the required modules, it displayed the long final tree. But in the end, there were still compiling errors and it finishes with:

    npm ERR! Linux 2.6.32-696.18.7.el6.x86_64
    npm ERR! argv "/package/host/localhost/nodejs-6.13.1/bin/node" "/package/host/localhost/nodejs-6/bin/npm" "i"
    npm ERR! node v6.13.1
    npm ERR! npm  v3.10.10
    npm ERR! code ELIFECYCLE
    
    npm ERR! heapdump@0.3.7 install: `node-gyp rebuild`
    npm ERR! Exit status 1
    npm ERR! 
    npm ERR! Failed at the heapdump@0.3.7 install script 'node-gyp rebuild'.
    npm ERR! Make sure you have the latest version of node.js and npm installed.
    npm ERR! If you do, this is most likely a problem with the heapdump package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR!     node-gyp rebuild
    npm ERR! You can get information on how to open an issue for this project with:
    npm ERR!     npm bugs heapdump
    npm ERR! Or if that isn't available, you can get their info via:
    npm ERR!     npm owner ls heapdump
    npm ERR! There is likely additional logging output above.
    
    npm ERR! Please include the following file with any support request:
    npm ERR!     /home/curv/tmp/nodebb/npm-debug.log
    

    Compiler errors are the same, I'm not going to post them again.


  • Oh, I just found the module: /home/curv/.npm/heapdump/0.3.7 it's installed within my home directory as well!

    I removed it and repeated the above procedure to no avail 😞

    Next, I looked where heapdump is being referenced and found npm-shrinkwrap.json from where I removed it as well.

    Repeat the procedure. No more "heapdump" errors, but still no success and lots of compiler errors, here's the end of it:

    [..]
    ../node_modules/nan/nan.h:1598: error: no matching function for call to ‘NanAssignPersistent(v8::Persistent<v8::Object, v8::NonCopyablePersistentTraits<v8::Object> >&, v8::Local<v8::Object>&)’
    ../node_modules/nan/nan.h: In member function ‘virtual void NanAsyncWorker::HandleOKCallback()’:
    ../node_modules/nan/nan.h:1648: error: ‘class NanCallback’ has no member named ‘Call’
    ../node_modules/nan/nan.h: In member function ‘virtual void NanAsyncWorker::HandleErrorCallback()’:
    ../node_modules/nan/nan.h:1657: error: ‘class NanCallback’ has no member named ‘Call’
    ../node_modules/nan/nan.h: At global scope:
    ../node_modules/nan/nan.h:1957: error: ‘Handle’ is not a member of ‘v8’
    ../node_modules/nan/nan.h:1957: error: expected primary-expression before ‘>’ token
    ../node_modules/nan/nan.h:1957: error: ‘val’ was not declared in this scope
    ../node_modules/nan/nan.h:1958: error: expected primary-expression before ‘const’
    ../node_modules/nan/nan.h:1959: error: expected primary-expression before ‘*’ token
    ../node_modules/nan/nan.h:1959: error: ‘len’ was not declared in this scope
    ../node_modules/nan/nan.h:1960: error: initializer expression list treated as compound expression
    ../node_modules/nan/nan.h:1960: error: expected ‘,’ or ‘;’ before ‘{’ token
    ../node_modules/nan/nan.h:1957: warning: ‘_NanGetExternalParts’ defined but not used
    make: *** [Release/obj.target/validation/src/validation.o] Error 1
    make: Leaving directory `/home/curv/tmp/nodebb/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate/build'
    gyp ERR! build error 
    gyp ERR! stack Error: `make` failed with exit code: 2
    gyp ERR! stack     at ChildProcess.onExit (/package/host/localhost/nodejs-6.13.1/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:219:12)
    gyp ERR! System Linux 2.6.32-696.18.7.el6.x86_64
    gyp ERR! command "/package/host/localhost/nodejs-6.13.1/bin/node" "/package/host/localhost/nodejs-6.13.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
    gyp ERR! cwd /home/curv/tmp/nodebb/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate
    gyp ERR! node -v v6.13.1
    gyp ERR! node-gyp -v v3.4.0
    gyp ERR! not ok 
    console-control-strings@1.1.0 node_modules/console-control-strings -> node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/console-control-strings
    gauge@2.7.4 node_modules/gauge -> node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge
    set-blocking@2.0.0 node_modules/set-blocking -> node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/set-blocking
    readable-stream@2.3.6 node_modules/readable-stream -> node_modules/npm/node_modules/npm-registry-client/node_modules/readable-stream
    are-we-there-yet@1.1.4 node_modules/are-we-there-yet -> node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/are-we-there-yet
    nodebb@0.8.2 /home/curv/tmp/nodebb
    └─┬ npm@2.14.3
      └─┬ npm-registry-client@7.0.1
        └─┬ npmlog@4.1.2
          └─┬ are-we-there-yet@1.1.4
            └─┬ readable-stream@2.3.6
              └── inherits@2.0.3 
    
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bufferutil@1.1.0 (node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/bufferutil):
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bufferutil@1.1.0 install: `node-gyp rebuild`
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: utf-8-validate@1.1.0 (node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/utf-8-validate):
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: utf-8-validate@1.1.0 install: `node-gyp rebuild`
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bufferutil@1.1.0 (node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/bufferutil):
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bufferutil@1.1.0 install: `node-gyp rebuild`
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: utf-8-validate@1.1.0 (node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate):
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: utf-8-validate@1.1.0 install: `node-gyp rebuild`
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
    

    Now what?

  • Global Moderator

    Have you tried deleting the shrinkwrap file and the package lock file?


  • different errors:

    [..]
    ../../nan/nan.h:1550: error: ISO C++ forbids declaration of ‘Handle’ with no type
    ../../nan/nan.h:1550: error: invalid use of ‘::’
    ../../nan/nan.h:1550: error: expected ‘;’ before ‘<’ token
    ../../nan/nan.h:1588: error: expected ‘;’ before ‘}’ token
    ../../nan/nan.h: In constructor ‘NanCallback::NanCallback()’:
    ../../nan/nan.h:1481: error: no matching function for call to ‘NanAssignPersistent(v8::Persistent<v8::Object, v8::NonCopyablePersistentTraits<v8::Object> >&, v8::Local<v8::Object>&)’
    ../../nan/nan.h: In constructor ‘NanAsyncWorker::NanAsyncWorker(NanCallback*)’:
    ../../nan/nan.h:1598: error: no matching function for call to ‘NanAssignPersistent(v8::Persistent<v8::Object, v8::NonCopyablePersistentTraits<v8::Object> >&, v8::Local<v8::Object>&)’
    ../../nan/nan.h: In member function ‘virtual void NanAsyncWorker::HandleOKCallback()’:
    ../../nan/nan.h:1648: error: ‘class NanCallback’ has no member named ‘Call’
    ../../nan/nan.h: In member function ‘virtual void NanAsyncWorker::HandleErrorCallback()’:
    ../../nan/nan.h:1657: error: ‘class NanCallback’ has no member named ‘Call’
    ../../nan/nan.h: At global scope:
    ../../nan/nan.h:1957: error: ‘Handle’ is not a member of ‘v8’
    ../../nan/nan.h:1957: error: expected primary-expression before ‘>’ token
    ../../nan/nan.h:1957: error: ‘val’ was not declared in this scope
    ../../nan/nan.h:1958: error: expected primary-expression before ‘const’
    ../../nan/nan.h:1959: error: expected primary-expression before ‘*’ token
    ../../nan/nan.h:1959: error: ‘len’ was not declared in this scope
    ../../nan/nan.h:1960: error: initializer expression list treated as compound expression
    ../../nan/nan.h:1960: error: expected ‘,’ or ‘;’ before ‘{’ token
    ../../nan/nan.h:1957: warning: ‘_NanGetExternalParts’ defined but not used
    make: *** [Release/obj.target/validation/src/validation.o] Error 1
    make: Leaving directory `/home/curv/tmp/nodebb/node_modules/utf-8-validate/build'
    gyp ERR! build error 
    gyp ERR! stack Error: `make` failed with exit code: 2
    gyp ERR! stack     at ChildProcess.onExit (/package/host/localhost/nodejs-6.13.1/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:219:12)
    gyp ERR! System Linux 2.6.32-696.18.7.el6.x86_64
    gyp ERR! command "/package/host/localhost/nodejs-6.13.1/bin/node" "/package/host/localhost/nodejs-6.13.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
    gyp ERR! cwd /home/curv/tmp/nodebb/node_modules/utf-8-validate
    gyp ERR! node -v v6.13.1
    gyp ERR! node-gyp -v v3.4.0
    gyp ERR! not ok 
    nodebb@0.8.2 /home/curv/tmp/nodebb
    └─┬ nodebb-plugin-spam-be-gone@0.4.2
      └── simple-recaptcha@1.0.0  (git://github.com/wzrdtales/simple-recaptcha.git#f408725106872df696436ff6a988923539ab80a6)
    
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bufferutil@1.1.0 (node_modules/bufferutil):
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bufferutil@1.1.0 install: `node-gyp rebuild`
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: utf-8-validate@1.1.0 (node_modules/utf-8-validate):
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: utf-8-validate@1.1.0 install: `node-gyp rebuild`
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
    
  • Global Moderator

    @tlinden I have no idea why you're getting errors like that. But if you're going to paste errors, make you you provide the whole output, not just some of it.


  • well, its many dozen pages of output everytime.

    So, here's the whole output.

  • GNU/Linux Admin

    Oh boy... what a error 😬

    If you are seeing weird npm errors, remember to delete npm-shrinkwrap.json, package-lock.json, as well as clearing cache and such.

    Double-check your package.json to make sure it doesn't require node-gyp or heapdump, we shouldn't require those.

    Honestly if all else fails... install yarn, set package_manager in config.json to yarn, and then yarn...


  • If you are seeing weird npm errors, remember to delete npm-shrinkwrap.json, package-lock.json, as well as clearing cache and such.

    I did.

    Double-check your package.json to make sure it doesn't require node-gyp or heapdump, we shouldn't require those.

    Doesn't.

    Honestly if all else fails... install yarn, set package_manager in config.json to yarn, and then yarn...

    I don't understand. Especially, since before 1.8.2 I had no problem upgrading, I started at 1.7.5 and did it twice successfully.

    It's a desaster 😞

  • GNU/Linux Admin

    Yarn is a different package manager. npm is... a disaster, as you say, sometimes. Configs and caches littered all over the file system that you have no idea what to do to get it working again.

    That's why I say use yarn.


  • Yes, but how?

  • GNU/Linux Admin

    Install documentation: yarnpkg.com/en/docs/install


  • Nope.

    What's interesting though is that it tries to upgrade /package/host/localhost/nodejs-6.13.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js which is a global package.

  • GNU/Linux Admin

    Eh... paste your package.json please. Pretty sure you can remove lwip from there. That's not been required for quite awhile.

Suggested Topics

  • 7
  • 10
  • 17
  • 3
  • 3
| |