2014-09-23 11 views
5

मैं इसे आधे दिन से अधिक हल करने का प्रयास कर रहा हूं।imagemin: dist task फेंकने त्रुटि

मेरे पास एक कोणीय परियोजना है जिसे मैं बनाने के लिए गड़बड़ी का उपयोग करता हूं।

`` ` चल रहा है" समवर्ती: जिले "(समवर्ती) कार्य

Running "svgmin:dist" (svgmin) task 
Total saved: 0 B 

Done, without errors. 


Execution Time (2014-09-23 21:53:55 UTC) 
loading tasks 7ms ▇▇▇▇▇▇ 11% 
svgmin:dist 58ms ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 89% 
Total 65ms 
    Warning: Running "imagemin:dist" (imagemin) task 
Fatal error: Object #<DestroyableTransform> has no method 'apply' 


Execution Time (2014-09-23 21:53:55 UTC) 
imagemin:dist 868ms ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 99% 
Total 876ms Use --force to continue. 

    Aborted due to warnings. 

` ``

यहाँ मेरी imagemin कार्य है में

मेरी grunt आदेश चल रहा है मेरा पीछा कर देना मेरा GruntFile.js:

imagemin: { dist: { files: [ { expand: true, cwd: '<%= yeoman.app %>/images', src: '{,*/}*.{png,jpg,jpeg,gif}', dest: '<%= yeoman.dist %>/images' } ] } }

मुझे इंटरवब्स पर कुछ भी नहीं मिल रहा है जो मेरी मदद करता है। मुझे यह खुला मुद्दा मिला, लेकिन किसी ने अभी तक जवाब नहीं दिया है: https://github.com/gruntjs/grunt-contrib-imagemin/issues/254

धन्यवाद।

उत्तर

6

जाहिर है, PNG संपीड़न libpng-dev पुस्तकालय की आवश्यकता है और मैं का उपयोग कर स्थापित करने के लिए है कि अपने निर्माण सर्वर पर की जरूरत:

sudo apt-get install libpng-dev

मैं अपने package.json नवीनतम घुरघुराना-योगदान-imagemin उपयोग करने के लिए (अद्यतन "^ 0.8.0")

npm install और grunt चल रहा है अब w/o त्रुटियों का काम करता है।

2

संक्षेप में, मैं Fedora उपयोग कर रहा हूँ और मेरी समस्या हल कर लिया गया:

(sudo) yum install optipng 

यहां लंबा जवाब है।

यह समस्या not obvious थी क्योंकि त्रुटि संदेश अधिक नहीं बताता है। इसका मतलब है कि चार निर्भरताओं में से एक या अधिक (गायब) थे:

gifsicle — Compress GIF images 
jpegtran — Compress JPEG images 
optipng — Compress PNG images 
svgo — Compress SVG images 

और उन बाइनरी ओएस निर्भर हैं।

समस्या निवारण प्रक्रिया है:

  1. स्थापना फिर से चलाएँ देखने के लिए स्थापित नहीं हैं क्या: npm install grunt-contrib-imagemin
  2. में नाकाम रहने के घटक गूगल और देखते हैं कि है कि अपने ओएस में स्थापित किया जा सकता है। सभी लापता लोगों को स्थापित करें। (ठीक है, अगर मुझे चरण 1 दोहराया जाना चाहिए, तो मुझे एक ही विफलता संदेश मिल गया है, इसलिए मेरे लिए यह मदद नहीं करता)
  3. फिर छवि छवि को फिर से चलाने का प्रयास करें। उंगलियों को पार कर।
1

grunt-contrib-imagemin पर imagemin commented on a GitHub issue के लेखक/@ kevva के रूप में, समस्या अभी तक नहीं में है कि वर्तमान संस्करण में mozjpeg और अन्य निर्भरता अद्यतन करने के लिए पीआर है।

आप imagemin-mozjpeg की एक असमर्थित संस्करण का उपयोग कर रहे हैं (घुरघुराना-योगदान-imagemin अभी तक धारा आधारित प्लगइन्स का समर्थन नहीं करता)। इस npm install [email protected]

...

हाँ, वे ठीक imagemin के साथ काम की कोशिश करो। लेकिन grunt-contrib-imagemin ने अभी तक 2.0.0 तक छविमिन निर्भरता को अपडेट नहीं किया है (कल 04b8c10 में विलय हो गया है) इसलिए यह एक पुराने एपीआई का उपयोग कर रहा है।

1

imagemingrunt serve:dist मोड का उपयोग कर के माध्यम से त्रुटि।

इसके बजाय निम्न का प्रयास करें।

  1. npm uninstall
  2. rm -rf node_modules
  3. npm cache clean
  4. npm install
संबंधित मुद्दे