Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Installing Node Grunt Locally

I'm in the process of reworking my build system, and I've read that node.js with grunt is a good way to go. I've never used either, and I'm having a bit of trouble.

The problem is that I want to set up a portable build environment that I can include in the version control for my project (maybe this isn't possible). Getting node.js and npm working has been no trouble. But, every instruction I see for installing grunt says to use the -g flag with npm which installs it globally. Since I want a totally portable environment, I have attempted to leave this off, but I can't get grunt to work.

Am I missing something, or is what I'm attempting to do not feasible?

like image 637
Dominic P Avatar asked Apr 03 '13 02:04

Dominic P


3 Answers

Have a look at http://gruntjs.com/getting-started

Grunt has recently been split into a project-local dependency (grunt) and a command-line launcher (grunt-cli). It's the latter that should be installed globally.

As an extra hint on ensuring that you can take your builds everywhere: make sure you save all dependencies in package.json, by using the --save and --save-dev parameters when using npm install. More info: https://npmjs.org/doc/install.html

like image 181
Ruben Vermeersch Avatar answered Nov 17 '22 10:11

Ruben Vermeersch


You can use local grunt without global (-g) installation of a grunt-cli by calling:

node node_modules/grunt-cli/bin/grunt --version

Of course first you need install it in you project locally and have a grunt version greater than 0.3; for example:

npm install grunt-cli
npm install [email protected]

Or add them both to your packages.json and call

npm install  

This should also help when you just can't install any package globally as I've described in https://stackoverflow.com/a/39046355/2201879

like image 30
tomajar Avatar answered Nov 17 '22 11:11

tomajar


See https://www.npmjs.com/package/grunt-cli#installing-grunt-cli-locally:

Installing grunt-cli locally

If you prefer the idiomatic Node.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" }. Now npm test will use the locally installed ./node_modules/.bin/grunt executable to run your Grunt commands.

To read more about npm scripts, please visit the npm docs:
https://docs.npmjs.com/misc/scripts.

like image 2
splintor Avatar answered Nov 17 '22 09:11

splintor