После установки Gulp: «команда gulp не найдена»

250

После установки gulp.js через npm я получаю сообщение no command 'gulp' foundоб ошибке при запуске gulpкоманды из того же каталога, в который она была установлена.

Просматривая node_modules/.bin/каталог, я вижу там gulpисполняемый файл.

Что-то не так с моей установкой npm?

AndrewMcLagan
источник
9
вы делали глобальную установку? npm install gulp -g
Мукеш Сони
2
У меня та же проблема. Я сделал глобальную установку и все еще ничего ...
iluvpinkerton
Эта ссылка наверняка поможет вам stackoverflow.com/a/45707907/5222115
murtuza hussain

Ответы:

476

Это совершенно нормально. Если вы хотите gulp-cliполучить доступ к командной строке, вам нужно установить его глобально.

npm install --global gulp-cli

Смотрите инструкцию по установке .

Кроме того, node_modules/.bin/не в вашем $PATH. Но он автоматически добавляется npm при запуске сценариев npm (см. Этот блог для справки ).

Таким образом, вы можете добавить scriptsв свой package.jsonфайл:

{
    "name": "your-app",
    "version": "0.0.1",
    "scripts": {
        "gulp": "gulp",
        "minify": "gulp minify"
    }
}

Затем вы можете запустить npm run gulpили npm run minifyзапустить gulp задачи.

Брайан Клозел
источник
2
Меня просят запустить npm install -g gulp от имени sudo (Root. Admin), но если я делаю это, то при выходе из режима обычного пользователя он не может найти команду gulp. Я не думаю, что хорошо оставаться в корне за все, что я предпочел бы, чтобы моя среда работала должным образом. Так что кто-нибудь знает, что может вызвать эту проблему, пожалуйста ..
приземлился
Я думаю, все зависит от того, как / где был установлен узел. При использовании github.com/creationix/nvm вам не нужно быть пользователем root для установки глобальных библиотек.
Брайан Клозел
Я думаю, что я использовал установщик на Mac OSX для установки nodejs.org. Я не знаю разницы между nodejs и node @ £ $ @
приземлился
3
Пожалуйста, имейте в виду, что сам gulp больше не является глобальным пакетом. Вместо этого global-cli - это (npm -i -g gulp-cli), и этот глобальный глоток должен быть фактически удален первым!
Рикардо Магальес
14

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

$ npm uninstall --global gulp gulp-cli
$ rm /usr/local/share/man/man1/gulp.1
$ npm install --global gulp-cli
Binz
источник
1
Немного обновленная версия сработала для меня, поскольку я использую NVM для управления своей средой Node:$ npm uninstall -g gulp gulp-cli $ rm /Users/[usrName]/.nvm/versions/node/[nodeVersion]/share/man/man1/gulp.1 $ npm install -g gulp-cli
JustJen
12

У меня на самом деле та же проблема.

Эта ссылка, вероятно, моя лучшая догадка:

nodejs против узла в Ubuntu 12.04

Я сделал это, чтобы решить мою проблему:

sudo apt-get --purge remove node 
sudo apt-get --purge remove nodejs 
sudo apt-get install nodejs
sudo ln -s /usr/bin/nodejs /usr/bin/node
guboi
источник
8
Вы также нуждаетесь в этом, sudo ln -s /usr/bin/nodejs /usr/bin/nodeтак как многие приложения / пакеты ищут его там.
Сет
1
Команда ln -s [target] [name|directory]создает символическую ссылку («псевдоним» или «ярлык»). Смотрите linuxcommand.org/man_pages/ln1.html
определяет
все еще не работает здесь ... Человек, я вроде как думаю, что это тривиально. Но эта ссылка с другой страницы SO получила правильный ответ. Просто запустите его локально stackoverflow.com/questions/36457377/...
swdev
6

Я решил проблему, удалив gulp и снова установив gulp-cli:

rm /usr/local/bin/gulp
npm install -g gulp-cli
Йоханан Барухель
источник
1
Также необходимо использоватьsudo
App Dev Guy
3

если все еще не решено, попробуйте добавить это в ваши package.jsскрипты

"scripts": { "gulp": "gulp" },

и запустите npm run gulp его, он будет запускать скрипты gulp из gulpfile.js

Ханзла Хабиб
источник
1

Установка на Mac - Sierra - После многочисленных неудачных попыток установить и запустить gulp глобально через командную строку, используя несколько разных инструкций, я обнаружил, что добавил это в свой путь, и это сработало:

export PATH=/usr/local/Cellar/node/7.6.0/libexec/npm/bin/:$PATH

Я получил этот путь из текстового вывода при установке gulp.

G-Man
источник
0

Пробовал с sudo и все заработало !!

sudo npm install --global gulp-cli
Софо
источник
0

Я на лубунту 19.10

Я использовал комбинацию предыдущих ответов и не настраивал $PATH.

  1. npm uninstall --global gulp gulp-cli Это удалит любой пакет, если он уже там.
  2. sudo npm install --global gulp-cli Переустановите его как пользователь root.

Если вы хотите сделать скопировать и вставить

npm uninstall --global gulp gulp-cli && sudo npm install --global gulp-cli 

должно сработать

Я думаю, --globalчто здесь нет необходимости, так как он установлен с помощью sudo, но я использовал его на всякий случай.

santimirandarp
источник
0

в моем случае это был только вопрос, просто поместите «gulp»: «gulp» в часть скрипта package.json, а затем используйте команду npm run gulp.

Исрар
источник