I have a gulpfile.js that runs through perfectly when typing gulp
into the commandline.
All the gulp
bash command really does is calling the sp
In package.json
"scripts": {
"gulp": "gulp"
},
And then this command npm run gulp
Also npm provides the ability to pass extra parameters to your commands.
This is only the case for npm >= 2.0
Update: Without bin link
You can check the node_modules/.bin/gulp
or node_modules/gulp/bin/gulp.js
file to see how you can start gulp (Line 129 is interesting)
I think this should work:
var gulp = require('gulp');
gulp.task('default', function() {
console.log('do something');
});
gulp.start.apply(gulp, ['default']);
When you install it locally (npm install --save-dev gulp
) you can just run it by calling ./node_modules/.bin/gulp all
Or you can define an npm
script, and run it with npm run gulp
by adding this to package.json
"scripts": {
"gulp": "gulp"
}
Reiterating the answers above, but including the gulpfile location and a gulp command (in this case build
. On Windows you can use the following:
node node_modules\gulp\bin\gulp.js build --gulpfile "C:\my_project_location\gulpfile.js"
I think the most direct answer is the following:
node ./node_modules/gulp/bin/gulp.js
Yes, adding to your npm scripts works, but this doesn't help in situations like automated builds where you are trying to run a gulp task for existing code from a repo and you can't easily change package.json.
Generally speaking Sander Visser's answer is probably the "best", but this is the lowest level call that can be implemented anywhere.
Meanwhile since npm >= 5.2.0. you can do it with 'npx':
npx gulp
It executes the binaries in ./node_modules/.bin
By the way, it has the ability to execute not installed tools which are only temporary installed, executed and then deleted.
Checkout the post from Kat Marchán: Introducing npx: an npm package runner
In your package.json add the following:
"scripts": {
"gulp": "node ./node_modules/gulp/bin/gulp.js <task-name>"
}
and run from command line by typing npm run gulp.
This removes the dependency on having gulp globally installed