2017-02-10 5 views
0

die env laden. aber ich bekomme einen Fehler. Von einigen Videos ist es korrekt. Es ist relativ zur imagemin-Version?schluck-imagemin:</p> <ul> <li>windows 7</li> <li>Knoten 6.9.5</li> </ul> <p>Ich benutze das Plugin wie <a href="https://www.npmjs.com/package/gulp-imagemin" rel="nofollow noreferrer">this npm</a>: Konnte nicht Standard-Plug-xxx

// 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')) 
}) 

, wenn ich "Schluck Bild", einen Fehler bekam:

[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%) 

ich npm install imagemin-optipng verwenden, aber es funktioniert immer noch nicht. Abhängigkeiten wie folgt aus:

"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" 

}

, was ihm passiert?

+0

Willkommen bei SO! Kannst du versuchen, deinstallieren ('npm uninstall gulp-imagemin') und dann neu installieren (' npm install -D gulp-imagemin') und sehen, ob es während der Installation irgendwelche Fehler gibt? – henry

Antwort

0

Sieht aus wie dies ein node 6 Problem ist. Versuchen Sie, die Version, die Sie für dieses Projekt verwenden, herabzustufen. Ich bekomme gifsicle install errors auf 6.9.5, aber nicht auf 6.3.1 (habe nicht alle Versionen dazwischen probiert).

Wenn Sie mit dem Wechsel zwischen Knotenversionen nicht vertraut sind, empfehlen wir die Verwendung von nvm.

in https://github.com/creationix/nvm#installation durch die Noten lesen (nicht alle OSes unterstützt werden) und dann

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

Die nvm Dokumentation ist gründlich laufen, aber Sie gehen laufen nvm install YOURVERSIONNUMBER grundsätzlich und nvm use YOURVERSIONNUMBER dann. (Es lohnt sich auch auszuprobieren: wie man .nvmrc und how to automatically load your project's version of node verwendet.)

1

Ich habe die gleichen Probleme und ich fand es, weil Standard-Plugins nicht korrekt installiert wurden.

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

Diese Warnung war Wurf durch diese Zeilen Code #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}"`); 
    } 
}; 

Wenn Protokollfehler in Fang, wir Module not found xxx sehen können.

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}"`); 
} 

So könnten wir die verlorenen Pakete installieren.

Wenn auch einige Fehler hat, installieren Sie nur imagemin

npm uninstall gulp-imagemin --save 
npm install gulp-imagemin --save 
Verwandte Themen