3
respostas

Erro ao executar GULP

Estou iniciando o treinamento e ao executar o comando abaixo:

npm rum gulp build-img

Para rodar o arquivo que esta na raiz do projeto (gulpfile.js) com este código:

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

gulp.task('build-img', function () {
    gulp.src('src/img/**/*')
        .pipe(imagemin())
        .pipe(gulp.dest('src/img'))
})

É apresentado este erro

> projeto@1.0.0 gulp /Users/f6764869/Documents/Curso_Alura/Engenheiro Front-end/projeto
> gulp "build-img"

[12:55:52] Using gulpfile ~/Documents/Curso_Alura/Engenheiro Front-end/projeto/gulpfile.js
[12:55:52] Starting 'build-img'...
[12:55:52] Finished 'build-img' after 4.81 ms

events.js:167
      throw er; // Unhandled 'error' event
      ^
Error: spawn /Users/f6764869/Documents/Curso_Alura/Engenheiro Front-end/projeto/node_modules/optipng-bin/vendor/optipng ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:232:19)
    at onErrorNT (internal/child_process.js:407:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)
Emitted 'error' event at:
    at DestroyableTransform.onerror (/Users/f6764869/Documents/Curso_Alura/Engenheiro Front-end/projeto/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_readable.js:558:12)
    at DestroyableTransform.emit (events.js:182:13)
    at /Users/f6764869/Documents/Curso_Alura/Engenheiro Front-end/projeto/node_modules/through2-concurrent/through2-concurrent.js:37:14
    at DuplexWrapper.<anonymous> (/Users/f6764869/Documents/Curso_Alura/Engenheiro Front-end/projeto/node_modules/gulp-imagemin/index.js:58:5)
    at DuplexWrapper.emit (events.js:182:13)
    at Through2.onerror (/Users/f6764869/Documents/Curso_Alura/Engenheiro Front-end/projeto/node_modules/stream-combiner2/index.js:54:18)
    at Through2.emit (events.js:187:15)
    at onwriteError (/Users/f6764869/Documents/Curso_Alura/Engenheiro Front-end/projeto/node_modules/imagemin-optipng/node_modules/readable-stream/lib/_stream_writable.js:250:10)
    at onwrite (/Users/f6764869/Documents/Curso_Alura/Engenheiro Front-end/projeto/node_modules/imagemin-optipng/node_modules/readable-stream/lib/_stream_writable.js:268:5)
    at WritableState.onwrite (/Users/f6764869/Documents/Curso_Alura/Engenheiro Front-end/projeto/node_modules/imagemin-optipng/node_modules/readable-stream/lib/_stream_writable.js:106:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! projeto@1.0.0 gulp: `gulp "build-img"`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the projeto@1.0.0 gulp script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/f6764869/.npm/_logs/2019-02-06T14_55_52_673Z-debug.log

Alguém ja passou por isso ou sabe o que esto fazendo errado? Obrigado

3 respostas

Qual a versão dos pacotes você está usando? Poste o seu package.json

Em relação ao código recomendo que no gulp.dest voce declare uma outra pasta, se não você pode acabar deletando a sua imagem original.

Recomendo também retornando o stream de dados para executar sincronamente, assim pode evitar conflito com outras tarefas. Pode retirar depois para testar e asso, deixar o processo mais rápido.

Ficaria assim:


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

gulp.task('build-img', function () {
  return gulp.src('src/img/**/*')
    .pipe(imagemin())
    .pipe(gulp.dest('dist/img'));
})

Segue o arquivo solicitado, segui o treinamento mesmo sem conseguir otimizar as imagens.

{
  "name": "projeto",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "gulp": "gulp"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "browser-sync": "^2.24.4",
    "gulp": "^3.9.0",
    "gulp-autoprefixer": "^3.0.2",
    "gulp-clean": "^0.3.1",
    "gulp-concat": "^2.6.1",
    "gulp-csslint": "^0.2.0",
    "gulp-cssmin": "^0.1.7",
    "gulp-html-replace": "^1.6.2",
    "gulp-imagemin": "^2.3.0",
    "gulp-jshint": "^1.11.2",
    "gulp-uglify": "^1.5.4",
    "gulp-usemin": "^0.3.29",
    "jshint-stylish": "^2.0.1"
  }
}

Obteve algum resultado modificando a pasta de destino?

Aqui não consegui reproduzir o erro. Pode tentar deletar a pasta node_modules e executar o npm install para reinstalar os seus pacotes.

Se puder postar também o seu gulpfile ficará mais fácil para tentar reproduzir.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software