nuborian
By:
nuborian

Can't install sails.js

January 4, 2017 900 views
DigitalOcean Ubuntu 16.04

Hey,

I've setup a new "one-click" droplet with ubuntu and node (tried both that are available at the moment)

For any reason, i am not able to install sails.js - all other npm packages are not problem...

@*:~# sudo npm -g install sails
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated node-uuid@1.4.7: use uuid module instead
npm WARN deprecated native-or-bluebird@1.1.2: 'native-or-bluebird' is deprecated. Please use 'any-promise' instead.

Any idea? I don't really know what these errors are telling me ...

Help would be great !

Best, Nico

6 Answers

Those are warnings, whats the full output?

That's the full output - I can't see anymore ? :/

@nuborian

Have you tried running npm update? If not, try running that and running the install again.

If the issue persists, or if only some of the warnings persist, try installing the packages noted and upgrading the one that needs to be.

i.e.

npm install -g minimatch@3.0.2 \
&& npm install -g uuid \
&& npm install -g any-promise

Thanks for your help - sadly that doesn't work, too :/

For anyone running into this issue. It seems to be due to running out of memory on the smaller Droplets. I temporarily resized to a 2GB droplet and Sails installed fine. I was monitoring memory usage and about 2/3 of the way through the install it was bumping up on 500MB of ram used. Near the end of the install it exceeded the 512MB of ram on the smallest droplet size.

@cshepcook @nuborian @jtittle @Woet Hey everyone, for future reference, the issue is probably pre-production Grunt compilation running on Digital Ocean (which is relatively memory-intensive, depending on the number of assets you have). An easy workaround for this is to prepare (e.g. compile/minify/etc) production assets ahead of time (locally on your machine, before deploying).

For a tip on how to prepare assets ahead of time, check out https://github.com/balderdashy/sails/issues/3577#issuecomment-184786535 (you don't actually need to name the task "cluster"-- e.g. you might name it "digitalocean" or "preproduction").

Hope that helps!
-mikermcneil

Have another answer? Share your knowledge.