Search code examples
node.jsmacosmeanjsyo

MEAN Stack yo meanjs returns errors when creating new project


I've been strugging to get this set up all day and keep ending up with the same issue... I wonder if anyone can help and I'm totally stuck. I've installed node.js and NPM using brew on my mac, that all seems to be working well and I got it running without any errors (eventually!)

When I run yo meanjs this is what happens....

You're using the official MEAN.JS generator.
? What mean.js version would you like to generate? 0.4.1
0.4.1
? In which folder would you like the project to be generated? This can     be changed later. mean
Cloning the MEAN repo.......
? What would you like to call your application? MEAN
? How would you describe your application? Full-Stack JavaScript with    MongoDB, Express, AngularJS, and Node.js
? How would you describe your application in comma seperated key words? MongoDB, Express, AngularJS, Node.js
? What is your company/author name? Jane
? Would you like to generate the article example CRUD module? No
? Would you like to generate the chat example module? No
create mean/package.json
create mean/bower.json
create mean/config/env/default.js
Running npm install for you....

Then I get the following errors (partial error result as its too long for this...450 lines!):

   Error: Command failed: /bin/sh -c cd mean && npm install
    npm WARN engine karma@0.12.37: wanted: {"node":">=0.8 <=0.12 || >=1 <=2"} (current: {"node":"5.1.0","npm":"3.3.12"})
    npm WARN prefer global jshint@2.8.0 should be installed with -g
    npm WARN prefer global node-gyp@3.1.0 should be installed with -g
    npm WARN prefer global nodemon@1.3.8 should be installed with -g
    npm WARN prefer global node-inspector@0.10.2 should be installed with -g
    /Users/Jane/myMeanProject/mean/node_modules/.bin/touch: line 1: syntax error near unexpected token `('
    /Users/Jane/myMeanProject/mean/node_modules/.bin/touch: line 1: `var touch = require("../touch")'
    make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 2
    gyp ERR! build error 
    gyp ERR! stack Error: `make` failed with exit code: 2
    gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
    gyp ERR! stack     at emitTwo (events.js:87:13)
    gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
    gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
    gyp ERR! System Darwin 15.0.0
    gyp ERR! command "/usr/local/Cellar/node/5.1.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
    gyp ERR! cwd /Users/Jane/myMeanProject/mean/node_modules/bufferutil
    gyp ERR! node -v v5.1.0
    gyp ERR! node-gyp -v v3.0.3
    gyp ERR! not ok 
    npm WARN install:bufferutil@1.2.1 bufferutil@1.2.1 install: `node-gyp rebuild`
    npm WARN install:bufferutil@1.2.1 Exit status 1
    In file included from ../src/bufferutil.cc:16:
    ../../nan/nan.h:261:25: error: redefinition of '_NanEnsureLocal'
    NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                            ^
    ../../nan/nan.h:256:25: note: previous definition is here
    NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                            ^
    ../../nan/nan.h:661:13: error: no member named 'smalloc' in namespace 'node'
        , node::smalloc::FreeCallback callback
          ~~~~~~^
    ../../nan/nan.h:672:12: error: no matching function for call to 'New'
        return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
               ^~~~~~~~~~~~~~~~~
   

Can anyone point me in the right direction I'm a newby to this and very confused as to why it's not working!!! I've tried removing everything and re-installing but I'm still hitting a brick wall at this point.


Solution

  • After battling with this all day I figured out the answer right after posting... The issue is with the node version wanted: {"node":">=0.8 <=0.12 || >=1 <=2"}

    To fix this you need to....

    1. Install homebrew versions $ brew tap homebrew/versions
    2. $ brew search node will show you a list of versions you can use. Choose the best one for you and
    3. brew unlink node to make sure it's unlinked then finally
    4. $ brew install node010 to install the 0.10 version of Node.JS

    thanks https://apple.stackexchange.com/questions/171530/how-do-i-downgrade-node-or-install-a-specific-previous-version-using-homebrew