Неможливо запустити Gulp: не можна знайти модуль 'gulp-util'


169

У Windows 7 я встановив gulp, як пояснено тут: http://markgoodyear.com/2014/01/getting-started-with-gulp/ :

  • npm install gulp -g
  • У моїй папці додатків: npm install gulp --save-dev
  • Я створюю gulpfile.jsфайл.

Але потім, коли я намагаюся запустити gulp, я отримую це повідомлення про помилку:

module.js:340
throw err;
      ^
Error: cannot file module 'gulp-util'
at Function.Module._resolveFilename (module.js:338:15)

тощо.

Але gulp-utilприсутній (у папці локальних додатків) у:

node_modules
    gulp
        node_modules
            gulp-util

Будь-яка ідея, що може бути причиною?


7
спробуйтеnpm install gulp-util --save-dev
Ілан Фрумер

Відповіді:


277

ОНОВЛЕННЯ

З пізніших версій немає необхідності вручну встановлювати gulp-util.

Перевірте нову сторінку для початку роботи .

Якщо ви все-таки вирішили цю проблему, спробуйте перевстановити локальні пакети вашого проекту:

rm -rf node_modules/
npm install

ВИРІШЕНИЙ ВІДПОВІДЬ

Вам також потрібно встановити gulp-util:

 npm install gulp-util --save-dev

Від gulp docs - початок роботи (3.5) :

Встановіть gulp та gulp-util у своєму проекті devDependitions


4
а якщо ви перебуваєте в Windows, ви можете скористатися rimrafчерезnpm install -g rimraf
Jay Wick

9
Тож, маючи 150K поглядів на це питання, я хотів би знати, що є першопричиною цього ... Це трапляється досить часто для мене, і я здогадуюсь, що я не єдиний. Це додає багато витраченого часу!
cloakedninjas

1
Щойно знайшов цього вечора, у мене було 2 npm встановлення. У Windows під користувачем / ім'ям / додатком / роумінгом я видалив node_modules та npm, а також npm-cache. Перед тим, як видалити ці дані, я мав npm --version 3.x, тепер він показує npm - версія 5.6.0 ... може бути проблемою для інших.
Jasonflaherty

6
У Ubuntu 17.10 rm -rf node_modulesі npm installне працював. Замість цього, я повинен був преформи: npm install gulp -g. Працює як шарм!
Джош Мюррей

"Нова сторінка для початку роботи" знову перемістилася, що є правильною URL-адресою? github.com/gulpjs/gulp/tree/master/docs/getting-started , схоже, не згадує gulp-util.
Ніколя Рауль

65

Якщо у вас є package.json, ви можете встановити всі поточні залежності проекту, використовуючи:

npm install

2
Я не знаю, чому в моєму випадку це не спрацювало. Мені довелося встановити один за одним з відсутніх пакетів. А потім зробіть збірку. Дивно.
Лінкольн Пірес

@LincolnPiress Я зробив те саме приблизно на півдорозі. Але їх було багато. Я побіг npm install node-sassі це збудували.
Валентина Бондар

18

Будь-яка відповідь не допомогла в моєму випадку. Зрештою, це допомогло усунути bowerта gulp(я обидва використовую їх у своєму проекті):

npm remove -g bower
npm remove -g gulp

Після цього я встановив їх ще раз:

npm install -g bower
npm install -g gulp

Зараз це працює просто чудово.


2
Це виправлено стійку проблему, яку я не мав, коли gulp-util не знаходив через2, незважаючи на те, що він присутній у локальній папці node_modules і повторював спроби 'rm -rf node_module'. Видалення та перевстановлення глобальної глотки зробили свою справу.
jc1001

1
У мене виникла проблема з Windows, і єдиним виправленням було це, але перед тим, як мені потрібно було відновити встановлення вузла за допомогою файлу msi
Marcos Brigante,

Це була єдина відповідь, яка працювала і для мене. (Мені довелося додати sudoхоч)
Jules Colle

4

Спробуйте встановити відсутній модуль.

npm install 'module-name'

4

Ви повинні встановити їх як devDependitions:
- gulp-util
-gulp-load-plugins

Потім ви можете використовувати їх так:

var plugins     = require('gulp-load-plugins')();
Use gulp-util as : plugins.util()

або це:

var util = require('gulp-util')

4

Тут користувач Linux Ubuntu 18:04 . Я спробував всі рішення на цій дошці на сьогоднішній день. Хоча я прочитав вище у прийнятій відповіді, що "З пізніших версій немає необхідності вручну встановлювати gulp-util." , саме це спрацювало для мене. (... можливо, bc я на Ubuntu? я не знаю.)

Для повторного підключення я продовжував отримувати помилку " не можу знайти модуль" gulp-util " ", коли просто перевіряв, чи встановлений gulp за допомогою запуску:

gulp --version

... знову з'явилася помилка "gulp-util" ...

Отже, я дотримувався рекомендацій npm install [ім'я пакета], перелічених вище, але в кінцевому підсумку отримував ще кілька пакунків, які також потрібно було встановити. І в одного виникла проблема, яка вже існує, і я не знав, як її замінити. ... Я покладу всі пакунки / установки команд, які мені довелося використовувати тут, так само як посилання на випадок, якщо хтось інший відчуває цю проблему:

sudo npm install -g gulp-util

(тоді я отримав помилку для 'досить-hrtime', тому я додав це, а потім інші як Помилка. Неможливо знайти модуль ___, що з'являється після кожної перевірки gulp --version ... ... тому я просто продовжував встановлювати кожен. )

sudo npm install -g pretty-hrtime
sudo npm install -g chalk
sudo npm install -g semver --force

(без --force, в моїй системі я отримав помилку: "EEXIST: файл уже існує, посилання".

sudo npm install -g archy
sudo npm install -g liftoff
sudo npm install -g tildify
sudo npm install -g interpret
sudo npm install -g v8flags
sudo npm install -g minimist

І ось, нарешті, показано gulp --версія: CLI версія 3.9.1 Локальна версія 3.9.1


3

Це дозволить вирішити всю проблему з глотком

sudo npm install gulp && sudo npm install --save del && sudo gulp build

1

У більшості випадків видалення всіх пакетів вузлів та повторна їх установка вирішує проблему.

Але в моєму випадку папка node_modules не має дозволу на запис.


1

Тут же питання і те, що я спробував після пошуків, не вийшло. Поки я десь не побачив зауваження про глобальні чи локальні встановлення. Дивлячись:

C: \ Users \ YourName \ AppData \ Роумінг \ npm \ gulp

Я дійсно знайшов застарілу версію. Тому я перевстановив глоток за допомогою:

npm install gulp --global

Це магічно вирішило мою проблему.


-2

У мене була така ж проблема, хоча модуль, який він завантажував, був іншим. Єдине рішення проблеми - це знову запустити команду нижче:

npm install
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.