gulp-imagemin jpegtran-bin не работает, когда я запускаю простую задачу

1

Я хочу сжать изображения и трубы в каталог сборки, но после выполнения задачи папка сборки пуста. Это моя задача:

// Gulp.js configuration
// modules
const gulp = require('gulp')
const newer = require('gulp-newer')
const imagemin = require('gulp-imagemin')

// development mode?
// let devBuild = (process.env.NODE_ENV !== 'production')

// folders
const folder = {
  src: 'src/',
  build: 'build/'
}

gulp.task('images', function () {
  var out = folder.build + 'images/'
  return gulp.src(folder.src + 'images/**/*')
              .pipe(newer(out))
              .pipe(imagemin({optimizationLevel: 5}))
              .pipe(gulp.dest(out))
})

Я получил ошибку, когда попытался запустить gulp images и не смог найти /node_modules/jpegtran-bin/vendor/jpegtran в node_modules

[10:07:18] Using gulpfile ~/Desktop/MyProjects/project1/gulpfile.js
[10:07:18] Starting 'images'...

events.js:182
      throw er; // Unhandled 'error' event
      ^
Error: spawn /home/toantd/Desktop/MyProjects/project1/node_modules/jpegtran-bin/vendor/jpegtran ENOENT
at exports._errnoException (util.js:1026:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:189:19)
at onErrorNT (internal/child_process.js:366:16)
at _combinedTickCallback (internal/process/next_tick.js:102:11)
at process._tickCallback (internal/process/next_tick.js:161:9)

Я также попытался исправить эту проблему, следуя некоторым ссылкам:

Переустановите узловые модули

Npm rebuild

Есть моя структура проекта:

.
├── build
│   ├── css
│   ├── html
│   ├── images
│   └── js
├── gulpfile.js
├── package.json
├── src
│   ├── html
│   ├── images
│   │   ├── bg.jpg
│   │   └── my-logo.png
│   ├── js
│   └── scss
└── yarn.lock

Отметил, что я работаю под прокси-сервером компании, но я уверен, что я уже установил прокси-сервер как для npm, так и для git.

Может кто-нибудь мне помочь? Заранее спасибо.

Теги:
gulp
gulp-imagemin

2 ответа

2

У меня была аналогичная проблема. Моя папка поставщика существовала, но в ней не было exe. Возможно, это не ваша конкретная проблема. Мое решение состояло в том, чтобы запустить восстановление этого пакета.

npm rebuild jpegtran-bin

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

0

Попробуйте установить jpegtran-bin из npm

npm install --save jpegtran-bin

Ещё вопросы

Сообщество Overcoder
Наверх
Меню