Upgrade from 1.8.1 to 1.8.2 failed
-
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 foundnpm-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 [email protected] node_modules/console-control-strings -> node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/console-control-strings [email protected] node_modules/gauge -> node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge [email protected] node_modules/set-blocking -> node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/set-blocking [email protected] node_modules/readable-stream -> node_modules/npm/node_modules/npm-registry-client/node_modules/readable-stream [email protected] node_modules/are-we-there-yet -> node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/are-we-there-yet [email protected] /home/curv/tmp/nodebb └─┬ [email protected] └─┬ [email protected] └─┬ [email protected] └─┬ [email protected] └─┬ [email protected] └── [email protected] npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/bufferutil): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/utf-8-validate): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/bufferutil): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
Now what?
-
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 [email protected] /home/curv/tmp/nodebb └─┬ [email protected] └── [email protected] (git://github.com/wzrdtales/simple-recaptcha.git#f408725106872df696436ff6a988923539ab80a6) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/bufferutil): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/utf-8-validate): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
-
@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.
-
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
inconfig.json
toyarn
, and thenyarn
... -
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
inconfig.json
toyarn
, and thenyarn
...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
-
Eh... paste your package.json please
Ah, how is it "my"
package.json
? It came with NodeBBWell, here it is:
{ "name": "nodebb", "license": "GPL-3.0", "description": "NodeBB Forum", "version": "0.8.2", "homepage": "http://www.nodebb.org", "repository": { "type": "git", "url": "https://github.com/NodeBB/NodeBB/" }, "main": "app.js", "scripts": { "start": "node loader.js", "test": "mocha ./tests -t 10000" }, "dependencies": { "async": "~1.4.2", "bcryptjs": "~2.2.1", "body-parser": "^1.9.0", "colors": "^1.1.0", "compression": "^1.1.0", "connect-ensure-login": "^0.1.1", "connect-flash": "^0.1.1", "connect-multiparty": "^2.0.0", "cookie-parser": "^1.3.3", "cron": "^1.0.5", "csurf": "^1.6.1", "daemon": "~1.1.0", "express": "^4.9.5", "express-session": "^1.8.2", "gravatar": "^1.1.0", "less": "^2.0.0", "logrotate-stream": "^0.2.3", "lru-cache": "^2.6.1", "lwip": "0.0.7", "mime": "^1.3.4", "minimist": "^1.1.1", "mkdirp": "~0.5.0", "mmmagic": "^0.4.0", "morgan": "^1.3.2", "nconf": "~0.7.1", "nodebb-plugin-composer-default": "1.0.14", "nodebb-plugin-dbsearch": "0.2.16", "nodebb-plugin-emoji-extended": "0.4.13", "nodebb-plugin-markdown": "4.0.5", "nodebb-plugin-mentions": "1.0.2", "nodebb-plugin-soundpack-default": "0.1.4", "nodebb-plugin-spam-be-gone": "0.4.2", "nodebb-rewards-essentials": "0.0.5", "nodebb-theme-lavender": "2.0.1", "nodebb-theme-persona": "3.0.13", "nodebb-theme-vanilla": "4.0.8", "nodebb-widget-essentials": "2.0.1", "npm": "^2.1.4", "passport": "^0.3.0", "passport-local": "1.0.0", "prompt": "^0.2.14", "request": "^2.44.0", "rimraf": "~2.4.2", "rss": "^1.0.0", "semver": "^5.0.1", "serve-favicon": "^2.1.5", "sitemap": "^1.0.0", "socket.io": "^1.2.1", "socket.io-client": "^1.2.1", "socket.io-redis": "^0.1.3", "socketio-wildcard": "~0.1.1", "string": "^3.0.0", "templates.js": "0.2.10", "touch": "1.0.0", "uglify-js": "^2.4.24", "underscore": "~1.8.3", "underscore.deep": "^0.5.1", "validator": "^4.0.5", "winston": "^1.0.1", "xregexp": "~2.0.0" }, "devDependencies": { "mocha": "~1.13.0", "grunt": "~0.4.5", "grunt-contrib-watch": "^0.6.1" }, "bugs": { "url": "https://github.com/NodeBB/NodeBB/issues" }, "engines": { "node": ">=0.10" }, "maintainers": [ { "name": "Andrew Rodrigues", "email": "[email protected]", "url": "https://github.com/psychobunny" }, { "name": "Julian Lam", "email": "[email protected]", "url": "https://github.com/julianlam" }, { "name": "Barı�<9F> Soner U�<9F>aklı", "email": "[email protected]", "url": "https://github.com/barisusakli" } ] }
Pretty sure you can remove lwip from there.
Ok, I did ... and ran into the same compilation error with some module named
mmagic
. -
That one too.
Ah, how is it "my" package.json? It came with NodeBB
Nice try. It used to come with NodeBB. Now it's yours and you can muck it up all you want
Let's hope removing lwip and mmmagic fixes this for you.
Remember: it's mmmagic with three m's
-
Just some context... lwip and mmmagic have led to many headaches similar to what you just experienced this past week. It's part of the reason why we push for js-only dependencies and minimize built dependencies as much as possible.
As for package.json... like I mentioned before we no longer commit it to the repository. What you have now is a copy of the one that used to come with NodeBB. During the upgrade process, we merge that copy with the one in
install/
to create a more up-to-date one while preserving any plugins and such you've already got installed.In your case, the lwip and mmmagic dependencies just got carried over when you upgraded to latest.
-
You did say you started on 1.7.5 though, which is super weird as that should not have those dependencies in the first place.
-
@julian said in Upgrade from 1.8.1 to 1.8.2 failed:
Yes... that's correct. If you want, you can set
package_manager
toyarn
, so the nodebb upgrade process uses yarn as well.Then you should be good to go.
ok, I'll try this on production tomorrow.
Thanks for you help so far!