Reputation: 4769
I removed the old version of grunt first, then I installed the new grunt version, and then I got this error:
D:\www\grunt-test\grunt grunt-cli: The grunt command line interface. (v0.1.4)
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
Is this because there is not a reference to grunt in my system path? Or something else? I tried to re-install it a few times already.
Upvotes: 405
Views: 499710
Reputation: 2365
I had the same issue in Vagrant.
I have used sudo to run the command to install.
sudo npm install -g grunt-cli
It worked for me.
Upvotes: 0
Reputation: 3366
None of the above worked for me because i had grunt installed globally (recommended in several of these answers, oddly) and that was messing everything up. Here's what did work:
npm uninstall -g grunt
npm install
Only now was a local grunt installed, and useable, for me.
Upvotes: 2
Reputation: 539
I had to execute the following commands on ubuntu to solve this problem (I know grunt for 1 hour) :
sudo npm install -g grunt
sudo npm install -g grunt-cli
cd /usr/local/bin
# current symlink points to ../lib/node_modules/grunt/bin/grunt*
sudo rm /usr/local/bin/grunt
sudo ln -s ../lib/node_modules/grunt-cli/bin/grunt* grunt
It is dirty but it is the only one solution I found... :(
Upvotes: 3
Reputation: 1289
Being new to grunt and setting it up, I am running (perhaps foolishly) my grunt project/folder from a Google Drive so I can access the same code/builds from either my laptop or workstation.
There is a fair bit of synchronisation of the nodes_modules folders back to Google Drive and there seemed to be a conflict at some point, and the /nodes_modules/grunt folder was renamed to /nodes_modules/grunt (1)
Renaming it back by removing the (1) seemed to fix it for me.
Upvotes: 0
Reputation: 8906
It says you don't have a local grunt
so try:
npm install grunt
(without the -g
it's a local grunt
)
Though not directly related, make sure you have Gruntfile.js
in your current folder.
Upvotes: 5
Reputation: 9480
I think you don't have a grunt.js
file in your project directory. Use grunt:init
, which gives you options such as jQuery, node,commonjs
. Select what you want, then proceed. This really works. For more information you can visit this.
Do this:
1. npm install -g grunt
2. grunt:init ( you will get following options ):
jquery: A jQuery plugin
node: A Node module
commonjs: A CommonJS module
gruntplugin: A Grunt plugin
gruntfile: A Gruntfile (grunt.js)
3 .grunt init:jquery (if you want to create a jQuery related project.).
It should work.
Solution for v1.4:
1. npm install -g grunt-cli
2. npm init
fill all details and it will create a package.json file.
3. npm install grunt (for grunt dependencies.)
Edit : Updated solution for new versions:
npm install grunt --save-dev
Upvotes: 306
Reputation: 1890
I made the mistake to install some packages using sudo and other without privileges , this fixed my problem.
sudo chown -R $(whoami) $HOME/.npm
hope it helps someone.
Upvotes: 7
Reputation: 71
Could be a few problems here depending on what version of grunt is being used. Newer versions of grunt actually specify that you have a file named Gruntfile.js
(instead of the old grunt.js
).
You should have the grunt-cli
tool be installed globally (this is done via npm install -g grunt-cli
). This allows you to actually run grunt
commands from the command line.
Secondly make sure you've installed grunt locally for your project. If you see your package.json
doesn't have something like "grunt": "0.4.5"
in it then you should do npm install grunt --save
in your project directory.
Upvotes: 4
Reputation: 49232
Unable to find local Grunt
likely means that you have installed Grunt globally.
The Grunt CLI insists that you install grunt in your local node_modules directory, so Grunt is local to your project.
This will fail:
npm install -g grunt
Do this instead:
npm install grunt --save-dev
Upvotes: 196
Reputation: 44417
Do
npm install
to install Grunt locally in ./node_modules
(and everything else specified in the package.json
file)
Upvotes: 87
Reputation: 40824
If you already have a file package.json
in the project and it contains grunt
in dependency,
"devDependencies": {
"grunt": "~0.4.0",
Then you can run npm install
to resolve the issue
Upvotes: 27