Installing Yeoman (Grunt, Bower and Yo) on Ubuntu

Yeoman is a catch-all phrase (at this time) for Grunt (automation), Bower (package manager) and Yo (scaffolder).

In this particular article, we’ll go through how to set up Grunt, Bower and Yo. The installation itself is very easy. You need to run the command npm install -g yo, which uses NodeJS to install Yo globally. Yo has Bower and Grunt as dependencies, so at that point it’s all done.

The trick is, of course, the dependencies. You need to have installed Git, and (assuming you’re interested in my workflow) Sass with Compass. The third important thing you need to install is NodeJS.


If you did not install Sass, you probably want to update and install the pre-requisites:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential openssl libssl-dev curl

Install NVM

Just as with Ruby, it’s occasionally a very good idea to ensure that one can use different versions. I use Node Version Manager by Tim Caswell and see no reason to change.

Taking a leaf from Ruby and RVM, the project will be cloned into a hidden folder named .nvm under your home folder:

git clone git:// ~/.nvm

You will need to make sure that NVM is loaded when you open a terminal, through the following line:

echo '[[ -s "$HOME/.nvm/" ]] && source "$HOME/.nvm/"' >> ~/.bash_profile

To be able to use NVM directly, run . ~/.nvm/, which will load it into the current shell session.

Install NodeJS

First, find which version of NodeJS is the current one, most easily accomplished by surfing to NodeJS homepage. At the time of the writing, it is v0.10.20.

It might take a bit to install NodeJS, so be patient…

nvm install v0.10.20 #or whatever is the latest stable at your reading
nvm alias default 0.10.20 #sets the default assumption of any project to that

Installing NPM

NPM is the package manager for NodeJS (what a shocker, eh?), with the homepage (and index of packages) at NPMJS. It occasionally feels somewhat meta that we will install a package manager (NPM) so that we can install another package manager (Bower), but that is an article for another day.

Oh, look, another cURL script being fetched and then piped through sh!

curl | sh

How to use NPM

As noted above, the command to install Yo and it’s dependencies Grunt and Bower is npm install -g yo. More often than not, you will want to keep the Node packages local to whichever project you’re in, but if you use the -g switch, it will install that particular package globally, IE accessible to all projects.

Another useful command is npm list which lists all the packages installed in that project or, with the -g switch, globally.

Congratulations, you are now all done and have Grunt, Bower and Yo properly installed!

For the moment comments are not enabled, but feel free to reach out on Twitter.