I would like to use grunt-html
task to check my HTML files.
I install the task locally with npm install grunt-html
and use it in grunt.js
as follows:
module.exports = function (grunt) { grunt.loadNpmTasks('grunt-html'); grunt.initConfig({ htmllint:{ all:['*.html'] }, }); };
Now I would like to install the grunt-html
task globally.
Unfortunately after removing the local grunt-html
node module and installing it globally grunt
fails to load the task. While running grunt htmllint
I get:
>> Local Npm module "grunt-html" not found. Is it installed?
If I remove grunt.loadNpmTasks('grunt-html');
from the grunt.js
file I get:
Task "htmllint" not found. Use --force to continue.
So my question is how to use grunt-html
installed globally?
gruntjs doesn't currently support loading globally-installed grunt modules from
loadNpmTasks
, per the documentation ofgrunt.loadNpmTasks
:Of course, if you really insist on installing it globally, a hack would be to create a symlink (
ln -s
) from your localnode_modules
directory to your globalnode_modules/grunt-html
directory.If you're doing module development, another alternative would be to use the under-appreciated
npm link
command that lets you locally install a module that exists elsewhere on you system (seenpm help link
for usage information).Both of these approaches, though, don't allow you to truly install the
grunt-html
package globally.