Gulp команда не найдена после установки

Я установил 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], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])

Но когда я набираю gulp, он говорит -bash: gulp: command not found

Любая идея, что происходит?

Ответ 1

Оказывается, что npm был установлен в неправильном каталоге, поэтому мне пришлось изменить "префикс конфигурации npm", запустив этот код:

npm config set prefix /usr/local

Затем я переустановил gulp глобально (с параметром -g) и работал правильно.

В этой статье я нашел решение: http://webbb.be/blog/command-not-found-node-npm

Ответ 2

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

npm config set prefix /usr/local

Я подтвердил, что npm root -g указывал на /usr/local/lib/node_modules/npm, но для установки gulp в /usr/local/lib/node_modules мне пришлось использовать sudo:

sudo npm install gulp -g

Ответ 3

Если вы используете tcsh (который является моей оболочкой по умолчанию в Mac OS X), вам, вероятно, просто нужно ввести rehash в оболочку сразу после завершения установки:

npm install -g gulp

сразу после:

rehash

В противном случае, если вы в первый раз устанавливаете gulp, ваша оболочка может не распознать, что установлен новый исполняемый файл, так что вам нужно либо начать новую оболочку, либо набрать rehash в текущей оболочке.

(Это в основном одноразовая вещь для каждой команды, которую вы устанавливаете по всему миру.)

Ответ 4

Я понимаю, что это старый поток, но для Future-Me и потомков я решил, что должен добавить свои двухценты вокруг обсуждения "run npm as sudo". Отказ от ответственности: я не использую Windows. Эти шаги были доказаны только на машинах без окон, как виртуальных, так и физических.

Вы можете избежать необходимости использовать sudo, изменив разрешение на npm-каталог по умолчанию.


Как изменить разрешения для запуска npm без sudo

Шаг 1. Узнайте, где находится каталог по умолчанию npm.

  • Для этого откройте терминал и запустите:
    npm config get prefix

Шаг 2: Продолжайте, исходя из вывода этой команды:

  • Сценарий 1: npm каталог по умолчанию /usr/local
    Для большинства пользователей ваш вывод покажет, что каталог npm по умолчанию -/usr/local, и в этом случае вы можете перейти к шагу 4, чтобы обновить разрешения для каталога.
  • Сценарий 2: npm каталог по умолчанию - /usr или /Users/YOURUSERNAME/node_modules или /Something/Else/FishyLooking
    Если вы обнаружите, что в каталоге по умолчанию npm нет /usr/local, но вместо этого вы не можете объяснить или выглядеть подозрительно, вы должны перейти к шагу 3, чтобы изменить каталог по умолчанию для npm, или вы рискуете испортить свой разрешений в гораздо большем масштабе.

Шаг 3: измените каталог по умолчанию npm:

  • Есть несколько способов сделать это, включая создание каталога специально для глобальных установок, а затем добавление этого каталога в ваш PATH, но поскольку /usr/local, вероятно, уже на вашем пути, я думаю, что это проще просто измените для него каталог по умолчанию npm. Например: npm config set prefix /usr/local
    • Для получения дополнительной информации о других подходах, о которых я упоминал, см. здесь npm docs здесь.

Шаг 4: Обновите разрешения для каталога по умолчанию npm:

  • После того, как вы подтвердили, что каталог npm по умолчанию находится в разумном месте, вы можете обновить разрешения на него с помощью команды:
    sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

Теперь вы можете запустить npm <whatever> без sudo. Примечание. Для того, чтобы эти изменения вступили в силу, может потребоваться перезапустить терминал.

Ответ 5

У меня была аналогичная проблема, я сделал следующие шаги, и она сработала. Вернитесь на терминал mac и выполните команды,

1.npm config set prefix/usr/local

2.sudo chown -R $(whoami) $(npm config get prefix)/{lib/ node_modules, bin, share}

Эти две команды задают путь npm, и вам больше не нужно использовать sudo в npm. Затем удалите gulp

  1. npm uninstall gulp

  2. Установить gulp снова без sudo, npm install gulp -g

Это должно работать!

Ответ 6

У меня возникла проблема с получением команды "не найденной" после установки, но я был установлен в /usr/local, как описано в вышеприведенном решении.

Моя проблема была вызвана тем, что я запускал установку с помощью sudo. Я сделал следующее.

  • Удаление gulp снова с помощью sudo
  • Изменение владельца /usr/local/lib/ node_modules моему пользователю
  • Установка gulp снова без sudo. "npm install gulp -g"

Ответ 7

Вам нужно сделать это npm install --global gulp. Это работает для меня, и у меня также была эта проблема. Это потому, что вы не устанавливали глобально этот пакет.

Ответ 9

В моем случае добавление sudo до того, как npm install решила команду gulp не найдена проблема

sudo npm install

Ответ 10

Если вы хотите оставить свой префикс нетронутым, просто экспортируйте его bin dir в переменную PATH:
export PATH=$HOME/your-path/bin:$PATH
Я добавил эту строку в свой $ HOME/.profile и получил ее.

Установка префикса /usr/local заставляет вас использовать sudo, поэтому мне нравится иметь его в моем пользовательском каталоге. Вы можете проверить свой префикс с помощью npm prefix -g.

Ответ 11

Я получил эту работу на Win10, используя комбинацию ответов сверху и в других местах. Публикация здесь для других и будущего меня.

Я следовал инструкциям здесь: https://gulpjs.com/docs/en/getting-started/quick-start, но на последнем шаге после ввода gulp --version я получил сообщение -bash: gulp: команда не найдена

Чтобы это исправить:

  1. Я добавил% AppData%\npm в переменную среды Path
  2. Закрыл весь gitbash (cmd, powershell и т.д.) И перезапустил gitbash.
  3. Затем глоток --version сработал

Кроме того, ниже приведены причины, по которым не следует устанавливать gulp глобально и как его удалить (хотя не уверен, что это целесообразно):

что означает gulp- "cli" означает?

Как удалить Gulp CLI из NPM глобально?

Ответ 12

Если вы работаете на Mac , используйте привилегию root

sudo npm install gulp-cli --global

Чтобы проверить, установлен ли он, запустите

gulp -v

Версия CLI: 2.2.0 (Выходные данные)

Локальная версия: неизвестно