Upgrade from 1.8.1 to 1.8.2 failed
-
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!