Yeoman is amazing, and will do a great deal of very clever things for you when setting up an app. However one of the clever things it does is to avoid repo-bloat it adds several sections of the app to the .gitignore file. This means that when you clone the app from Github, it will not run out of the box, this is evidenced when you first try to run
and you get an error back of the type:
grunt-cli: The grunt command line interface. (v0.1.9) Fatal error: Unable to find local grunt. If you're seeing this message, either a Gruntfile wasn't found or grunt hasn't been installed locally to your project. For more information about installing and configuring grunt, please see the Getting Started guide: http://gruntjs.com/getting-started
Steps for setting up a Yeoman app cloned from Gihub
First of all we need to make sure we have Yeoman installed in NPM, see installing Yeoman on Ubuntu 12.04 for details.
Check for Grunt, Bower and Git
Next we need to check that Grunt and Bower have been installed by Yeoman:
:/path/to/my/app$ grunt --version grunt-cli v0.1.11 grunt v0.4.2 :/path/to/my/app$ bower version 1.2.8
Providing that is OK, check that Git is installed and accessible from the command line:
:/path/to/my/app$ git --version git version 126.96.36.199
Git is used by Bower to fetch the app components so will fail if it cannot find and use Git.
Re-initialise the app components
Yeoman will add node_modules and bower_components to .gitignore, so we need to regenerate both of these.
First in your app root recreate the node_modules directory from the package files:
Then change into your app directory and recreate bower_components:
cd app bower update
Finally run the grunt server task to complete the build and check all is working:
If all is well you should now be looking at your app in your default browser.