2014-10-27 13 views
5

Testuję wtyczkę grunt-contrib-imagemin dla jpg minify. Ale zawsze kończyło się niepowodzeniem jako Uruchamianie "imagemin: dynamic" (imagemin) task Błąd krytyczny: To gniazdo jest zamknięte.Błąd krytyczny: to gniazdo jest zamknięte, gdy testuję grunt-contrib-imagemin

Source : 
grunt.initConfig({ 
     imagemin: { // Task 
      dynamic: {       // Another target 
     files: [{ 
     expand: true,     // Enable dynamic expansion 
     cwd: 'src/',     // Src matches are relative to this path 
     src: ['**/*.{png,jpg,gif}'], // Actual patterns to match 
     dest: 'dist/'     // Destination path prefix 
     }] 
    } 
     } 
    }); 
+0

Czy zdołasz to naprawić? –

Odpowiedz

1

Spróbuj ponownie zainstalować grunt-contrib-imagemin:

npm cache clean 
npm install grunt-contrib-imagemin --save-dev 
0

Według GitHub Biletu #273: (Fatal error: This socket is closed) jest to spowodowane przez jpegtran-bin Issue #54. Oba wydane są teraz rozwiązywane i zamykane.

Instalacja grunt-contrib-imagemin 0.9.2 rozwiązuje to dla mnie uruchamiając

npm cache clean 
npm install grunt-contrib-imagemin --save-dev 
1

Emisja:

robiąc

npm install 

Otrzymasz błąd:

? Request to https://raw.github.com/imagemin/jpegtran-bin/3.0.2/vendor/win/x64/jpegtran.exe failed 
? jpegtran pre-build test failed 
i compiling from source 
× GotError: Request to http://downloads.sourceforge.net/project/libjpeg-turbo/1.4.0/libjpeg-turbo-1.4.0.tar.gz failed 
    at ClientRequest.<anonymous> (YourApp\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtr 
n-bin\node_modules\bin-build\node_modules\download\node_modules\got\index.js:177:7) 
    at ClientRequest.g (events.js:199:16) 
    at ClientRequest.emit (events.js:107:17) 
    at Socket.socketErrorListener (_http_client.js:271:9) 
    at Socket.emit (events.js:107:17) 
    at net.js:459:14 
    at process._tickCallback (node.js:355:11) 
aused By: Error: read ECONNRESET 
    at exports._errnoException (util.js:746:11) 
    at TCP.onread (net.js:559:26) 

[email protected] postinstall YourApp\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-gifsicle\node_modules\gifsicle 
node lib/install.js 

? Request to https://raw.github.com/imagemin/gifsicle-bin/3.0.1/vendor/win/x64/gifsicle.exe failed 
? gifsicle pre-build test failed 
i compiling from source 
× GotError: Request to http://www.lcdf.org/gifsicle/gifsicle-1.87.tar.gz failed 
    at ClientRequest.<anonymous> (YourApp\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-gifsicle\node_modules\gifsic 
e\node_modules\bin-build\node_modules\download\node_modules\got\index.js:177:7) 
    at ClientRequest.g (events.js:199:16) 
    at ClientRequest.emit (events.js:107:17) 
    at Socket.socketErrorListener (_http_client.js:271:9) 
    at Socket.emit (events.js:107:17) 
    at net.js:459:14 
    at process._tickCallback (node.js:355:11) 
aused By: Error: read ECONNRESET 
    at exports._errnoException (util.js:746:11) 
    at TCP.onread (net.js:559:26) 

[email protected] postinstall YourApp\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng-b 
n 
node lib/install.js 

? Request to https://raw.github.com/imagemin/optipng-bin/3.0.2/vendor/win/optipng.exe failed 
? optipng pre-build test failed 
i compiling from source 
× GotError: Request to http://downloads.sourceforge.net/project/optipng/OptiPNG/optipng-0.7.5/optipng-0.7.5.tar.gz failed 
    at ClientRequest.<anonymous> (YourApp\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng 
bin\node_modules\bin-build\node_modules\download\node_modules\got\index.js:177:7) 
    at ClientRequest.g (events.js:199:16) 
    at ClientRequest.emit (events.js:107:17) 
    at Socket.socketErrorListener (_http_client.js:271:9) 
    at Socket.emit (events.js:107:17) 
    at net.js:459:14 
    at process._tickCallback (node.js:355:11) 
aused By: Error: read ECONNRESET 
    at exports._errnoException (util.js:746:11) 
    at TCP.onread (net.js:559:26) 

Powód:

grunt-contrib-imagemin nie mogą pobrać i przetestować 3 Zależności

imagemin-gifsicle

imagemin-optipng

imagemin-jpegtran

Rozwiązanie

  1. zainstalować grunt-contrib-imagemin 0.9.4 wersja

    npm cache clear 
    
    npm uninstall grunt-contrib-imagemin 
    
    npm install --save-dev [email protected] 
    
  2. gifsicle

    Pobierz gifsicle.exe 32 bit z here

    unzip to
    utwórz folder o nazwie sprzedawca na yourapp \ node_modules \ grunt-przy- imagemin \ node_modules \ imagemin \ node_modules \ imagemin-gifsicle \ node_modules \ gifsicle \

    kopia ekstrakcji gifsicle.exe do folderu dostawcy

    Teraz naprawiłeś problem z gifsicle. Nie daj się zakończył dwa więcej, aby przejść :)

  3. optipng

    Pobierz optipng.exe stąd utwórz folder o nazwie sprzedawca na yourapp \ node_modules \ grunt-przy- imagemin \ node_modules \ imagemin \ node_modules \ imagemin-optipng \ node_module \ optipng-bin \

    skopiuj wypakowane optipng.exe tutaj. Teraz naprawiłeś problem z optymalizacją. nie daj wyszedł jeszcze jeden iść :)

  4. jpegtran

    Pobierz jpegtran.exe i libjpeg-62.dll umieścić je w dostawcy folderze wewnątrz

    yourapp \ node_modules \ grunt-contrib- imagemin \ node_modules \ imagemin \ node_modules \ imagemin-jpegtran \ node_module \ jpegtran-bin \

Brawo, gotowe. a komenda

Grunt imagemin:dist 

zostanie wykonana pomyślnie

Pamiętaj

jeśli ponownie zainstalować chrząknięcie która w konsekwencji spowoduje zainstalowanie grunt-contrib-imagemin foldery te nie zostaną nadpisane. Jednak w przypadku pierwszej i czystej instalacji musisz wykonać te kroki.

Powiązane problemy