I cannot get grunt to work at all on Windows 7. Following the instructions on the Grunt website (http://gruntjs.com/getting-started) I've run:
npm uninstall -g grunt-cli
npm uninstall grunt
npm uninstall -g grunt-init
git clone git#github.com:gruntjs/grunt-init-jquery.git c:/Users/me/.grunt-init/jquery
npm install -g grunt-cli
grunt-init jquery
npm install .
After that, running "grunt" produces the following output:
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
The output of npm list grunt is:
npm WARN package.json consolidate#0.9.1 No repository field.
npm WARN package.json jquery-plugin#0.0.0-ignored No repository field.
npm WARN package.json passport-local-examples-login#0.0.0 No repository field.
npm WARN package.json receiptly#0.0.1 No repository field.
npm WARN package.json cookie-signature#1.0.1 No repository field.
npm WARN package.json fresh#0.1.0 No repository field.
npm WARN package.json methods#0.0.1 No repository field.
npm WARN package.json range-parser#0.0.4 No repository field.
npm WARN package.json send#0.1.0 No repository field.
npm WARN package.json pause#0.0.1 No repository field.
npm WARN package.json policyfile#0.0.4 'repositories' (plural) Not supported.
npm WARN package.json Please pick one as the 'repository' field
npm WARN package.json eyes#0.1.8 No repository field.
npm WARN package.json bytes#0.2.0 No repository field.
npm WARN package.json dateformat#1.0.2-1.2.3 No repository field.
npm WARN package.json uid2#0.0.2 No repository field.
C:\Users\me\AppData\Roaming\npm
└─┬ grunt-init#0.2.1
└── grunt#0.4.1
Running "npm install grunt" in the current directory gives the same error when running grunt.
Any thoughts? My understanding is that grunt-cli is meant to look for a local grunt install, but I can't work out why it can't find it.
I know its been 2 years since this question was asked. However if someone wants in future:
I got the exact same issue. And I got this fixed by installing grunt locally. As per grunt site,
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. This allows multiple versions of
Grunt to be installed on the same machine simultaneously.
So I just got it working by installing Grunt locally.
npm install grunt --save-dev
--save : adds it to your package.json.
-dev: adds it as a dev dependency.
There must be a Gruntfile.js located in the directory you run the command from. Also double check that 'npm install grunt' actually gave you a node_modules directory with a sub directory called grunt.
You should install grunt in GUI mode.
Open node.js cmd prompt then open the root folder and run the below commands
npm install ( once it done you can able to see node_modules folder in the root folder)
npm install –g grunt-cli (change the version from ("version": "minified" to Current release("version":"1.11"); you should replace with minified once you run build)
grunt build:full
Note: Version has to change when running grunt very first time.
if the above answer do not works then you can try by using this
rm -rf node_modules/ && npm cache clean && npm install
Related
when i'm typing this line in the git bash
npm install grunt-contrib-imagemin --save-dev
i get this errors
npm WARN saveError ENOENT: no such file or directory, open'C:\Users\hussa\package.json'
C:\Users\hussa
`-- grunt-contrib-imagemin#1.0.1
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\hussa\package.json'
npm WARN hussa No description
npm WARN hussa No repository field.
npm WARN hussa No README data
npm WARN hussa No license field.
You are telling npm to update your package.json file with the new dependency when using the --save-dev flags
Looks like you dont have a package.json file in your current directory. In which case you can create one with npm init and then rerun the npm install command after it is created.
If you do have a package.json file check you have permissions to edit and ensure it is not corrupt.
What does these lines mean
meteor npm install --production
meteor npm install --save
?
The Docs explains the command meteor npm <pacakge name> So the npm package is install, but what does the flag --production and --save do?
The meteor npm command simply forwards the arguments that follow it to Meteor's bundled npm version, so it behaves as the npm command-line tool.
The basic command is meteor npm <command and arguments.
This basic install command is meteor npm install <package name> rather than meteor npm <package name>.
Its relevant documentation is therefore not the one you referenced in your question, but the npm's CLI tool's (you referenced npm's install package, note the npm install install there).
NPM creates a package.json file and lists the project's dependencies there. You use the --save flag to instruct npm to add the packages installed to the dependencies file and the --production flag to instruct npm to not install its dev-dependencies, which are dependencies that were used for developing and debugging this package, but are not strictly required for its operation in production.
Take the time to familiarize yourself with the tool.
From the CLI docs:
npm install (with no args, in package dir)
npm install [<#scope>/]<name>
npm install [<#scope>/]<name>#<tag>
npm install [<#scope>/]<name>#<version>
npm install [<#scope>/]<name>#<version range>
npm install <tarball file>
npm install <tarball url>
npm install <folder>
alias: npm i
common options: [-S|--save|-D|--save-dev|-O|--save-optional] [-E|--save-exact] [--dry-run]
-S, --save: Package will appear in your dependencies.
With the --production flag (or when the NODE_ENV environment variable is set to production), npm will not install modules listed in devDependencies.
while I download ghost ,and unzip it to new_ghost ,then i meet this error
➜ new_ghost npm install --production
npm WARN cannot run in wd ghost#0.11.2 node core/server/utils/npm/preinstall.js (wd=/var/www/new_ghost)
[1] 14831 killed npm install --production
If you look in package.json you will see the preinstall script. It is looking for node. If you are working on Ubuntu, you might need to change that to nodejs. Another thing to try is:
npm cache clean
rm -rf node_modules
npm install --production
npm start --production
Another possibility is if you are using a version of node that it doesn't support. In that case you can disable the version check:
GHOST_NODE_VERSION_CHECK=false npm install --production
GHOST_NODE_VERSION_CHECK=false npm start --production
I had the same problem.
As mentioned by the Ghost folks here http://support.ghost.org/troubleshooting/#npm-start-issues, you should enable or increase the swap size.
If you don't have swap enabled, you can follow the guide here: https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-12-04
I've installed grunt :
sudo npm install -g grunt-cli
/Users/user/.nvm/versions/node/v4.3.0/bin/grunt -> /Users/user/.nvm/versions/node/v4.3.0/lib/node_modules/grunt-cli/bin/grunt
/Users/user/.nvm/versions/node/v4.3.0/lib
└── grunt-cli#1.2.0
But when i run grunt i have errors:
grunt
grunt-cli: The grunt command line interface (v1.2.0)
Fatal error: Unable to find local grunt.
If you're seeing this message, 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
Where i am wrong please ?
you have to install grunt globally and locally
you have installed the cli globally with the -g flag
now you have to install it locally in your package.json with ...
npm install -SD grunt
then your "grunt" command will work - assuming you have a valid gruntfile
This looks like a duplicate of Fatal error: Unable to find local grunt.
In a nutshell, try running grunt:init or npm:init first (depending on the version you have. See linked question for more details.
install the command-line interface:
npm install -g grunt-cli
install the local task runner:
cd [my project root]
npm install grunt --save-dev
define your Gruntfile.js as per http://gruntjs.com/getting-started#the-gruntfile
run the tasks with: grunt
I'm trying to get used to GruntJS and when I install a package for my app it doesn't add the dependencies to the package.json. I followed the "Get Started" section from the GruntJS site and NPM installs the module in my app directory.
What I am doing wrong?
Try npm install [plugin] --save-dev
Subject says --save-def