2017-02-20 6 views
2

Я установил gulp как глобальноместный глоток не найден после установки глобально и локально

sudo npm install --global gulp-cli 

и локально

npm install --save-dev gulp 

/usr/local/bin/gulp существует, и ./node_modules/gulp и ./node_modules/gulp-cli существуют.

Когда я пытаюсь запустить gulp в командной строке, я получаю Распространенная ошибка

$ gulp 
[00:55:43] Local gulp not found in ~/dev/myProj/play-java-seed 
[00:55:43] Try running: npm install gulp 

Одна вещь, которую я заметил, что если я бегу gulp в некоторой случайной директории (~/Foo), ошибка что локальный глоток не найден в этом каталоге. Если я запустил его из правильного каталога (~/dev/myProj/play-java-seed/ui), то ошибка ссылается на родительский каталог.

На самом деле в каталоге сообщения об ошибке не установлено gulp; он устанавливается в каталог ниже.

/usr/local/bin/gulp является символической ссылкой на файл с этим содержимым:

#!/usr/bin/env node 

'use strict'; 

require('../')(); 

Является ли в этом файле .. правильно? Кажется странным, но я не смотрел на него раньше.

Если ОС имеет значение, я запускаю 32-разрядный Ubuntu 16.04.

devDependencies в моем package.json включает в себя как gulp и gulp-cli

+2

Есть ли файл 'gulpfile.js' в папке? –

+0

В папке с node_modules есть gulpfile.js. –

+0

Я также смотрю на мою установку gulp на Mac, где gulp работает, как ожидалось. Там '/ usr/local/bin/gulp' был символической ссылкой на файл, который имел около 200 строк кода и выглядел так, как я ожидал. Это контрастирует с нерабочей версией Linux, которая на первый взгляд не выглядит так, как будто она вообще должна работать, хотя я могу себе представить, что так или иначе требуется магия. –

ответ

2

Рико Kahler был правильный ответ в своем комментарии.

Когда я посмотрел на машину (вместо того, чтобы уходить из моей памяти), я увидел, что файл с глотком был на одну директорию выше, чем следовало бы.

Сообщение об ошибке имело ключ к этому: оно предоставило директории, содержащей gulpfile, а не текущий каталог.