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?
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
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
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.
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