Just ran into this issue with a fresh nodebb install. I didn't have python setup correctly.
Made sure python 2.7 (not 3.x) is setup and the python command works. Then npm install again. Fixed it for me.
When I just wanted to update 1.10.1 to 1.10.2 with the same procedure as always, it failed and NodeBB told me that I should manually install libvips (FreeBSD). So I tried to build libvips, but it wanted to install ~ 100 packages for an X server, which I don't want to have on my server. Is it really required to have X server code now just to install the dependencies for NodeBB and has this requirement been introduced in 1.10.2? Is there a reason for that?
Can I help making this dependency optional?
I imagine you got the same error as this guy: https://community.nodebb.org/topic/12939/i-got-a-error-when-install
@PitaJ Was the sharp dependency added in 1.10.2? sharp requires libvips, and the FreeBSD libvips port wants to install X11 here…
As far as I can tell libvips only need those X11 dependency to compile it. Not sure how FreeBSD works, could it be that it will compile it on the server when you want to install it? Could you compile it elsewhere and then install on the server?
According to this, sharp has precompiled binaries for multiple platforms: https://sharp.dimens.io/en/stable/install/
"Hmm... looks like Sharp isn't installing correctly..." Try some stuff at these lame docs https://sharp.dimens.io/en/stable/install/
Which is totally useless if installing/building from source is borked on non Linux. For e.g. SmartOS, a fringe OS, you know, from the good folks who invented nodejs?
Breaking things for non Linux platforms is rather cavalier - not what I expect from a minor update/patch release. Pretty disappointing. Yeah, I know, you make software, open source it, and all people do is bitch, bitch, bitch. Heh....
That said, this is still way lame from where I sit.
So rather than just bitch about it, I spun up a freshie SmartOS (18.3) instance and endeavored to install NodeBB as per explained via docs that are admittedly a bit dated here: https://docs.nodebb.org/installing/os/smartos/
Prior to 1.10.2 these worked dandy (adjusting fer' some updatin').
Alas, not any more. v1.10.1, enter, stage left, sharp:
./nodebb setup starts spewin' about sharp, wh/tracks back to libvips, wh/does not seem to exist in Joyent's SmartOS pkgsrc (used by smartos, netbsd, dragonflybsd, etc.) repos. So, uh, the fallback to build from src flails about, thrashing mesirably in futile efforts to resuscitate itself... but I digress.
Hence the wannabe NodeBB on SmartOS innocent must either do some crunchin' and a munchin' of libvips src else nag OhJoy's pkgsrc team, eh? Fun, fun, fun ;-/
I suppose I should investigate v1.10.2 on FreeBSD, eh?
Alrighty then! We now return you to your regularly scheduled programming.
Rock on o/
P.S.; I saved logs but as this appears to be a sharp/libvips/nodejs on SmartOS issue I didn't figure y'all would be too intrigued. Peace, out o/
For the few, the brave, who may be interested, I built libvips pkgsrc port for SmartOS. It works in my testing and I expect it will be merged upstream so binaries should be coming.
So now I can install nodejs sharp dependency and run nodebb again.
P.S.; This is w/nodejs-10.11.0, and yes, it does also need zlib.
@PitaJ sharp dependency on zlib 1.2.9 was a cause for an issue for me also.
Not the same issue, but similar.
I got around it by changing my node version.
Understandable when you need to get things working. But not a good management strategy from my perspective so I strive to get to the root when possible. Frustrating as it may be many times. Thx for the pointer/link.
I was able to get sharp working by simply building it locally.
npm install --build-from-source sharp
The only thing missing on my minimal centos 7 image, was g++.