Installing the Grunt CLI
NPM is used to install Grunt and the Grunt CLI. The process of installation is very simple. As we just completed the updating or installing of Node, it should not be necessary to update NPM. If it has been a while since you updated NPM, now would be a good time to do so. Updating NPM is very simple and straightforward.
Updating NPM
Updating NPM is performed in one line. We will use the [sudo
] administrator to run the [npm
] application in order to [update
] the [npm
] application globally [-g
]:
sudo npm update -g npm
That's right! We use NPM to update itself! The sudo npm
command specifies that we want to run NPM as an administrator, the -g
flag denotes a global update, and the ensuing npm
specifies that NPM is the application that we are updating. This is the basic syntax for all NPM commands.
Installing Grunt CLI
The Grunt CLI is the first thing that we need to install as the Grunt CLI's sole responsibility is to run Grunt, as mentioned in the previous section. When we issue the install command, we will be placing the grunt command to the global path so that it is available from within all of your projects. Acting as the [sudo] administrator, we will run [npm] in order to [install
] the [grunt-cli
] globally [-g
]:
sudo npm install -g grunt-cli
It is important to point out that we are not installing Grunt at this point. As mentioned, the primary purpose of the CLI is to run Grunt. Perhaps this sounds a bit confusing at the moment, but don't overthink it. What this means is that we will be installing Grunt within each project using the Grunt CLI. As a result, this will provide a means for us to maintain control over Grunt versions associated with projects. For example, say the current version of Grunt at the time you started a project was v0.4.3. You would be able to install this Grunt version in your project without affecting any other project-specific implementation of Grunt. Later, in case you begin a new project and the current version is v0.4.5, you will be able to install this version in your new project without affecting the project with v0.4.3 implemented. If you wish, you could update your first project from v0.4.3 to v0.4.5. This results in your ability to upgrade Grunt within a project as you see fit without affecting any instance of Grunt being used for other projects. When you run Grunt from the CLI, it will be associated with a local version of a Grunt configuration file, known as a gruntfile. Grunt can be run from any directory in your project.
If you try to run Grunt from outside of your project directory, in a location where Grunt has not been installed with the Grunt CLI, you will receive an error such as the following:
grunt-cli: The grunt command line interface. (v0.1.13) 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
In this case, you will need to either install Grunt in the location that you expected it to be or change directories to the location where Grunt is actually installed.