it-swarm.com.ru

Команда 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

Есть идеи, что происходит?

87
iluvpinkerton

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

npm config set prefix /usr/local

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

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

154
iluvpinkerton

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

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

50
thehme

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

npm install -g gulp

сразу же после:

rehash

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

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

20
Steve Goldberg

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

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


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

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

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

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

  • Сценарий первый: Каталог по умолчанию для npm: /usr/local
    Для большинства пользователей ваш вывод покажет, что каталог по умолчанию для npm -/usr/local, и в этом случае вы можете перейти к шагу 4, чтобы обновить разрешения для каталога.
  • Второй сценарий: Каталог по умолчанию для 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 здесь

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

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

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

13
sgray

У меня была похожая проблема, я сделал следующие шаги, и это сработало. Перейдите к терминалу Mac и выполните команды,

1.npm config префикс/usr/local

2.Sudo chown -R $ (whoami) $ (префикс префикса конфигурации npm)/{lib/node_modules, bin, share}

Эти две команды установят правильный путь к npm, и вам больше не придется использовать Sudo в npm . Затем удалите gulp

  1. npm удалить gulp

  2. Снова установите gulp без Sudo, Npm установите gulp -g

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

4
Atul Kumar

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

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

  1. Удаление глотка снова с судо
  2. Смена владельца/usr/local/lib/node_modules на моего пользователя
  3. Установка глотка снова без Sudo. "npm install gulp -g"
4
Zack Huston

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

3
Sergey Andreev

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

Sudo npm install

0
Balram Singh

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

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

0
Altair