2017-02-10 6 views
0

окр:Глоток-imagemin: Не удалось загрузить плагин по умолчанию ххх

  • окна 7
  • узел 6.9.5

Я использую плагин как this npm. но я получаю сообщение об ошибке. из какого-то видео, это правильно. Это относительно версии imagemin?

// gulpfile.js 

var gulp = require('gulp'); 
var imagemin = require('gulp-imagemin'); 

var app = { 
    srcPath: 'src/', 
    devPath: 'build/', 
    prdPath: 'dist/', //生产部署 
} 
gulp.task('image', function() { 
    gulp.src(app.srcPath + 'image/**/*') 
    .pipe(gulp.dest(app.devPath + 'image')) 
    .pipe(imagemin()) 
    .pipe(gulp.dest(app.prdPath + 'image')) 
}) 

, когда я "Глоток изображение", получил сообщение об ошибке:

[13:05:56] Using gulpfile ~\Desktop\study\angularapp\gulpfile.js 
[13:05:56] Starting 'image'... 
[13:05:56] Finished 'image' after 6.96 ms 
[13:05:56] gulp-imagemin: Couldn't load default plugin "gifsicle" 
[13:05:56] gulp-imagemin: Couldn't load default plugin "jpegtran" 
[13:05:56] gulp-imagemin: Couldn't load default plugin "optipng" 
[13:05:56] gulp-imagemin: Minified 1 image (saved 0 B - 0%) 

Я использую npm install imagemin-optipng, но он по-прежнему не работает. зависимости, как это:

"devDependencies": { 
"clean-css": "^4.0.5", 
"gulp": "^3.9.1", 
"gulp-clean": "^0.3.2", 
"gulp-concat": "^2.6.1", 
"gulp-connect": "^5.0.0", 
"gulp-cssmin": "^0.1.7", 
"gulp-imagemin": "^3.1.1", 
"gulp-less": "^3.3.0", 
"gulp-load-plugins": "^1.5.0", 
"gulp-uglify": "^2.0.1", 
"lodash": "^4.17.4", 
"open": "^0.0.5" 

}

, что случилось с ним?

+0

Добро пожаловать на ТАК! Можете ли вы попробовать удалить ('npm uninstall gulp-imagemin'), а затем переустановить (' npm install -D gulp-imagemin') и посмотреть, есть ли какие-либо ошибки во время установки? – henry

ответ

0

Похоже, что это проблема node 6. Попробуйте переопределить версию, которую вы используете для этого проекта. Я получаю ошибки установки gifsicle на 6.9.5, но не на 6.3.1 (не пробовал все версии между ними).

Если вы не знакомы с переключением между версиями узла, рекомендуется использовать nvm.

Прочитайте примечания в https://github.com/creationix/nvm#installation (не все операционные системы поддерживаются), а затем запустить

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash 

документация nvm капитально, но в основном вы собираетесь запустить nvm install YOURVERSIONNUMBER и затем nvm use YOURVERSIONNUMBER. (Также стоит проверить: как использовать .nvmrc и how to automatically load your project's version of node.)

1

У меня такие же проблемы, и я обнаружил, что это потому, что плагины по умолчанию установлены неправильно.

npm install imagemin-jpegtran imagemin-svgo imagemin-gifsicle imagemin-optipng --save 

Это предупреждение было рука этих линий кода #L12

const loadPlugin = (plugin, args) => { 
    try { 
    return require(`imagemin-${plugin}`).apply(null, args); 
    } catch (err) { 
    gutil.log(`gulp-imagemin: Couldn't load default plugin "${plugin}"`); 
    } 
}; 

Если ошибка журнала в улове, мы можем видеть Module not found xxx.

try { 
    return require(`imagemin-${plugin}`).apply(null, args); 
} catch (err) { 
    console.log(err); // and will throw error: XX Module Not Found 
    gutil.log(`gulp-imagemin: Couldn't load default plugin "${plugin}"`); 
} 

Таким образом, мы могли установить потерянные пакеты.

Если же какие-то ошибки, просто переустановить imagemin

npm uninstall gulp-imagemin --save 
npm install gulp-imagemin --save