Reputation:
I have installed gulp-imagemin plugin and setup a task with following settings:
const gulp = require('gulp');
const imagemin = require('gulp-imagemin');
gulp.task('default', () =>
gulp.src('src/images/*')
.pipe(imagemin([
imagemin.gifsicle({interlaced: true}),
imagemin.jpegtran({progressive: true}),
imagemin.optipng({optimizationLevel: 5}),
imagemin.svgo({
plugins: [
{removeViewBox: true},
{cleanupIDs: false}
]
})
]))
.pipe(gulp.dest('dist/images'))
);
During the build I get this message: TypeError: imagemin.gifsicle is not a function
. Does anyone know why is this happening? Am I missing a dependancy?
Thanks
Upvotes: 2
Views: 4740
Reputation: 11000
To install manually I would try to add those in main package.json, under dependencies (or devDependencies) and in js file use it like:
const imageminGifsicle = require('imagemin-gifsicle');
gulp.task('default', () =>
gulp.src('src/images/*')
.pipe(imagemin([
imageminGifsicle({interlaced: true}),
Previous post:
Looks like yes, some dependencies are missing. From the gulp-imagemin package.json file we can see that these dependencies are nested under optionalDependencies
:
"optionalDependencies": {
"imagemin-gifsicle": "^5.2.0",
"imagemin-jpegtran": "^5.0.2",
"imagemin-optipng": "^5.2.1",
"imagemin-svgo": "^6.0.0"
}
If these plugins fails to install it doesnt stop gulp-imagemin
to install. So first try to go to gulp-imagemin
folder where its package.json sits and run npm install
.
If that doesnt fix your problem, you can try to install those plugins manualy - npm install imagemin-gifsicle
.
Upvotes: 2