在 deploy 程式碼到 production server 前,透過 gulp-imagemin 工具將全部圖片優化,上傳到 Amazon S3,Windows 底下正常運作,到了 Ubuntu 環境之下噴出底下錯誤訊息
Error: Lossy operations are not currently supported
後來在 grunt-contrib-imagemin@issues/180 有提人出此問題,解決方案就是升級 OptiPNG,因為 Ubuntu 的 apt 套件只有支援到 0.6.4 版本,請到 OptiPNG 官網下載最新 tar 檔,編譯重新安裝
$ wget http://downloads.sourceforge.net/project/optipng/OptiPNG/optipng-0.7.5/optipng-0.7.5.tar.gz $ tar -zxvf optipng-0.7.5.tar.gz $ cd optipng-0.7.5.tar $ ./configure && make && make install
附上 gulp-imagemin 設定方式
gulp.task('images', function() { return gulp.src('app/images/**/*.{jpg,jpeg,png,gif}') .pipe(imagemin({ progressive: true, interlaced: true })) .pipe(gulp.dest('dist/images')) .pipe(size()); });