Локальная установка gulp не найдена даже после установки npm install -g gulp

79

Я попытался установить gulp на

npm install -g gulp

Результат кажется примерно таким. (я пропустил несколько журналов)

npm http 304 https://registry.npmjs.org/string_decoder
npm http 304 https://registry.npmjs.org/lodash._htmlescapes
/usr/bin/gulp -> /usr/lib/node_modules/gulp/bin/gulp.js
[email protected] /usr/lib/node_modules/gulp
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected], [email protected], [email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])

В приведенном выше script я вижу строку /usr/bin/ gulp → /usr/lib/node_modules/gulp/bin/gulp.js который, я думаю, делает simulink в папке bin. Поэтому я должен получать gulp глобально, но я получаю эту ошибку.

No local gulp install found in /var/www/ksapp

Любая идея, почему я получаю эту ошибку.

Спасибо

Теги:
gulp

4 ответа

99
Лучший ответ

Как указано в документе, вы должны установить его глобально (вы сделали это) и добавить его в свой проект dev deps ( локально):

npm install gulp --save-dev
  • 1
    Есть ли возможность для Gulp не копировать файлы узлов в локальную папку проекта? Поскольку Gulp установлен глобально, эта команда делает его локальную копию, как я понимаю.
  • 0
    Дело в том, что локальная установка гарантирует, что сборка вашего проекта НЕ будет повреждена, даже если ваши системные обновления будут обновлены (глобальная установка gulp предназначена для предоставления двоичной команды в пути). Это та же самая ситуация для ворчания.
Показать ещё 4 комментария
31

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

npm link gulp
  • 8
    Как указано в другом комментарии, это плохая идея. Системы сборки, такие как gulp или grunt, спроектированы таким образом, что конкретный проект может зависеть от конкретной версии конкретной сборки (таким образом, все равно будет собираться независимо от состояния или установленных версий вашей глобальной системы). Попытка связать глобальную и локальную версию глотка стреляет себе в ногу ...
  • 0
    @MangledDeutz Мне не интересно связывать глоток с этим конкретным проектом. Я просто хочу использовать его в качестве небольшого инструмента командной строки для автоматизации некоторых задач сборки. Мой gulpfile не будет частью git-репозитория, и на самом деле, если я клонирую этот репозиторий на другом компьютере, я мог бы решить даже не использовать gulp для автоматизации этих задач, я мог бы использовать другой инструмент. Я хочу притвориться, что node и npm не существуют, а gulp - это просто небольшая программа в / usr / bin, которая ищет gulpfile.js в CWD и волшебным образом работает. Если это все, что я хочу, разве этот ответ не разумный поступок?
Показать ещё 3 комментария
-3

Недавно я столкнулся с сообщением об ошибке "Local gulp not found". Мне удалось проделать это, создав символическую ссылку из глобального каталога node_modules в локальный каталог проекта, где находится мой gulpfile.js.

  • 7
    Затем вы побеждаете назначение локальной системы сборки, которая НЕ ломается при обновлении базовой системы. Это, безусловно, плохая идея и идет вразрез с намерениями авторов ...
-4

Проверьте/home/username/.npm каталог: возможно, группы/владелец файлов являются root. Изменить на имя пользователя:

chown -R username.username /home/username/.npm

Ещё вопросы

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