Search code examples
mean-stackcloud9-ide

What is the best way to install the MEAN stack on cloud9? Error message when following manual


There seem to be various way to install all the modules of the Mean Stack (mean.io). However, what is the best way to do this in c9.io? I have been trying a lot of things, but I do not seem to get them all. c9.io has dedicated workspaces for NodeJs and a way to install Angular.js, but I want it all, quick, easy and fast!

Note: I tried to create a new workspace (Node.js), deleted all files and run the commands as given in the following link: http://learn.mean.io/#mean-installation

However, I got the following error message:

john@tut-04-mean:~/workspace $ cd app && npm install

> meanio@0.6.12 preinstall /home/ubuntu/workspace/app/node_modules/meanio
> node ./scripts/preinstall

npm WARN engine mean-cli@0.9.6: wanted: {"node":"0.10.x","npm":"2.1.x"} (current: {"node":"0.10.33","npm":"1.4.28"})

> mean-health@0.1.7 postinstall /home/ubuntu/workspace/app/node_modules/meanio/node_modules/mean-health
> node ./postinstall.js


> mean-cli@0.9.6 preinstall /home/ubuntu/workspace/app/node_modules/meanio/node_modules/mean-cli
> node ./scripts/preinstall

npm WARN optional dep failed, continuing fsevents@0.3.1
npm WARN engine hawk@0.10.2: wanted: {"node":"0.8.x"} (current: {"node":"0.10.33","npm":"1.4.28"})
npm WARN engine sntp@0.1.4: wanted: {"node":"0.8.x"} (current: {"node":"0.10.33","npm":"1.4.28"})
npm WARN engine cryptiles@0.1.3: wanted: {"node":"0.8.x"} (current: {"node":"0.10.33","npm":"1.4.28"})
npm WARN engine hoek@0.7.6: wanted: {"node":"0.8.x"} (current: {"node":"0.10.33","npm":"1.4.28"})
npm WARN engine boom@0.3.8: wanted: {"node":"0.8.x"} (current: {"node":"0.10.33","npm":"1.4.28"})
npm WARN engine hawk@0.10.2: wanted: {"node":"0.8.x"} (current: {"node":"0.10.33","npm":"1.4.28"})

> phantomjs@1.9.12 install /home/ubuntu/workspace/app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs
> node install.js

Downloading https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-x86_64.tar.bz2
Saving to /tmp/phantomjs/phantomjs-1.9.8-linux-x86_64.tar.bz2
Receiving...
/ [==============--------------------------] 36% 0.0s\
Received 12854K total.
Extracting tar contents (via spawned process)
Removing /home/ubuntu/workspace/app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/lib/phantom
Copying extracted folder /tmp/phantomjs/phantomjs-1.9.8-linux-x86_64.tar.bz2-extract-1416576264996/phantomjs-1.9.8-linux-x86_64 -> /home/ubuntu/workspace/app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/lib/phantom
Removing /tmp/phantomjs/phantomjs-1.9.8-linux-x86_64.tar.bz2-extract-1416576264996
Writing location.js file
Done. Phantomjs binary available at /home/ubuntu/workspace/app/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/lib/phantom/bin/phantomjs
npm WARN engine boom@0.3.8: wanted: {"node":"0.8.x"} (current: {"node":"0.10.33","npm":"1.4.28"})
npm WARN engine cryptiles@0.1.3: wanted: {"node":"0.8.x"} (current: {"node":"0.10.33","npm":"1.4.28"})
npm WARN engine sntp@0.1.4: wanted: {"node":"0.8.x"} (current: {"node":"0.10.33","npm":"1.4.28"})
npm WARN engine hoek@0.7.6: wanted: {"node":"0.8.x"} (current: {"node":"0.10.33","npm":"1.4.28"})
npm WARN engine hawk@0.10.2: wanted: {"node":"0.8.x"} (current: {"node":"0.10.33","npm":"1.4.28"})

> kerberos@0.0.4 install /home/ubuntu/workspace/app/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)

make: Entering directory `/home/ubuntu/workspace/app/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/build'
  SOLINK_MODULE(target) Release/obj.target/kerberos.node
  SOLINK_MODULE(target) Release/obj.target/kerberos.node: Finished
  COPY Release/kerberos.node
make: Leaving directory `/home/ubuntu/workspace/app/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/build'
npm WARN engine hoek@0.7.6: wanted: {"node":"0.8.x"} (current: {"node":"0.10.33","npm":"1.4.28"})
npm WARN engine cryptiles@0.1.3: wanted: {"node":"0.8.x"} (current: {"node":"0.10.33","npm":"1.4.28"})
npm WARN engine boom@0.3.8: wanted: {"node":"0.8.x"} (current: {"node":"0.10.33","npm":"1.4.28"})
npm WARN engine sntp@0.1.4: wanted: {"node":"0.8.x"} (current: {"node":"0.10.33","npm":"1.4.28"})

> bson@0.2.15 install /home/ubuntu/workspace/app/node_modules/mongoose/node_modules/mongodb/node_modules/bson
> (node-gyp rebuild 2> builderror.log) || (exit 0)

make: Entering directory `/home/ubuntu/workspace/app/node_modules/mongoose/node_modules/mongodb/node_modules/bson/build'
  CXX(target) Release/obj.target/bson/ext/bson.o
  SOLINK_MODULE(target) Release/obj.target/bson.node
  SOLINK_MODULE(target) Release/obj.target/bson.node: Finished
  COPY Release/bson.node
make: Leaving directory `/home/ubuntu/workspace/app/node_modules/mongoose/node_modules/mongodb/node_modules/bson/build'

> ws@0.4.32 install /home/ubuntu/workspace/app/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)

make: Entering directory `/home/ubuntu/workspace/app/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/build'
  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
  SOLINK_MODULE(target) Release/obj.target/bufferutil.node
  SOLINK_MODULE(target) Release/obj.target/bufferutil.node: Finished
  COPY Release/bufferutil.node
  CXX(target) Release/obj.target/validation/src/validation.o
  SOLINK_MODULE(target) Release/obj.target/validation.node
  SOLINK_MODULE(target) Release/obj.target/validation.node: Finished
  COPY Release/validation.node
make: Leaving directory `/home/ubuntu/workspace/app/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/build'
npm ERR! Error: EACCES, mkdir '/home/ubuntu/.npm/mongodb/1.3.23'
npm ERR!  { [Error: EACCES, mkdir '/home/ubuntu/.npm/mongodb/1.3.23']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/home/ubuntu/.npm/mongodb/1.3.23',
npm ERR!   parent: 'connect-mongo' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Linux 3.14.13-c9
npm ERR! command "/home/ubuntu/.nvm/v0.10.33/bin/node" "/home/ubuntu/.nvm/v0.10.33/bin/npm" "install"
npm ERR! cwd /home/ubuntu/workspace/app
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
npm ERR! path /home/ubuntu/.npm/mongodb/1.3.23
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, mkdir '/home/ubuntu/.npm/mongodb/1.3.23'
npm ERR! not ok code 0

Solution

  • You can install mean.io in Cloud9 in the way mean.io describes on its website. Simply create a new NodeJS project then delete the default files it gives you and in the terminal run:

    sudo npm install -g mean-cli 
    mean init yourNewApp
    

    (from the mean.io website)

    EDIT: That EACCES error is occuring due to root having ownership of the /home/ubuntu/.npm/mongodb folder. You can fix them by running:

    sudo chown $(whoami). ~/.npm/*
    

    I noticed in my own installation npm install didn't fully work after this fix due to some half installed packages. If you still continue to get errors after running the above command do the following in your project folder:

    rm -rf ./node_modules
    npm install