I installed yeoman and started the examples which are provided in the official documentation. I went through the suggested operations
yo webapp
bower install underscore
grunt
After running grunt I have the message
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
Note that grunt have been installed with
npm install -g grunt-cli
and
npm install -g grunt
yo has generated the Gruntfile.js in the project root, where I am running the command.
The package.json has been generated as well:
"name": "testyo",
"version": "0.0.0",
"dependencies": {},
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-copy": "~0.4.1",
"grunt-contrib-concat": "~0.1.3",
"grunt-contrib-coffee": "~0.6.5",
"grunt-contrib-uglify": "~0.2.0",
"grunt-contrib-compass": "~0.2.0",
"grunt-contrib-jshint": "~0.4.1",
"grunt-contrib-cssmin": "~0.6.0",
"grunt-contrib-connect": "~0.2.0",
"grunt-contrib-clean": "~0.4.0",
"grunt-contrib-htmlmin": "~0.1.3",
"grunt-contrib-imagemin": "~0.1.3",
"grunt-contrib-watch": "~0.4.0",
"grunt-rev": "~0.1.0",
"grunt-autoprefixer": "~0.1.20130516",
"grunt-usemin": "~0.1.10",
"grunt-mocha": "~0.3.0",
"grunt-open": "~0.2.0",
"grunt-svgmin": "~0.1.0",
"grunt-concurrent": "~0.1.0",
"matchdep": "~0.1.1",
"connect-livereload": "~0.2.0"
},
"engines": {
"node": ">=0.8.0"
}
Additionally. From the root directory
grunt --version
grunt-cli v0.1.9
This confirm that grunt is available to be run in every directory.
Any idea?
Installing grunt-cli locally js method to get started with a project ( npm install && npm test ) then install grunt-cli locally with npm install grunt-cli --save-dev. Then add a script to your package. json to run the associated grunt command: "scripts": { "test": "grunt test" } .
Installing a published development version Like installing a specific version of grunt, run npm install grunt@VERSION --save-dev where VERSION is the version you need, and npm will install that version of Grunt in your project folder, adding it to your package.
Installing the CLI. Run sudo npm install -g grunt-cli (Windows users should omit "sudo ", and may need to run the command-line with elevated privileges). The grunt command-line interface comes with a series of options. Use grunt -h from your terminal to show these options.
npm install -g grunt-cli. This will put the grunt command in your system path, allowing it to be run from any directory. Note that installing grunt-cli does not install the Grunt task runner! The job of the Grunt CLI is simple: run the version of Grunt which has been installed next to a Gruntfile .
npm cache clean
sudo npm install grunt --save-dev
really did the trick for me
After some quick research I realized, from the grunt documentation, that grunt has to be installed in the project. I did that by running:
sudo npm install grunt --save-dev
Now grunt works.
I also needed to run:
npm install
so that all the dependencies are loaded.
This solved my problem. To be honest I thought yeoman would have taken care of the last two steps automatically.
In case you have comments or think there is a better solution, please leave a comment.
I ran into the same problem.
After running npm install
, make sure a node_modules folder is created in the root of your project. This is the folder where "local grunt" will be placed. If the folder is not there, check your npm cofiguration npm config ls
and make sure you have global=false
.
I've found the solution here: https://stackoverflow.com/a/13449393/1046584
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With