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


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

├── tildify@0.2.0
├── interpret@0.3.5
├── pretty-hrtime@0.2.1
├── deprecated@0.0.1
├── archy@0.0.2
├── minimist@0.2.0
├── semver@2.3.2
├── orchestrator@0.3.7 (stream-consume@0.1.0, sequencify@0.0.7, end-of-stream@0.1.5)
├── chalk@0.5.1 (escape-string-regexp@1.0.1, ansi-styles@1.1.0, supports-color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0)
├── gulp-util@2.2.20 (lodash._reinterpolate@2.4.1, dateformat@1.0.8-1.2.3, vinyl@0.2.3, through2@0.5.1, multipipe@0.1.1, lodash.template@2.4.1)
├── liftoff@0.12.0 (extend@1.2.1, minimist@0.1.0, resolve@0.7.4, findup-sync@0.1.3)
└── vinyl-fs@0.3.5 (graceful-fs@3.0.2, lodash@2.4.1, mkdirp@0.5.0, strip-bom@0.3.1, vinyl@0.2.3, through2@0.5.1, glob-watcher@0.0.6, glob-stream@3.1.14)

но когда я типа gulp Он говорит:-bash: gulp: command not found

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

8 86

8 ответов:

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

npm config set prefix /usr/local

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

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

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

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

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

npm install -g gulp

сразу же после этого:

rehash

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

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

Я понимаю, что это старая нить, но для будущего-меня и потомков, я решил, что должен добавить свои два цента вокруг обсуждения "running 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: Изменение НПМ каталог по умолчанию:

  • есть несколько способов сделать это, включая создание каталога специально для глобальных установок, а затем добавление этого каталога в ваш $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. Примечание: возможно, Вам потребуется перезагрузить терминал, чтобы эти изменения вступили в силу.

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

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

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

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

1.npm config set prefix / usr / local

2.судо Чаун -Р $(whoami) $(НПМ конфиг сделать префикс)/{библиотека lib/node_modules, в,ОГРН,поделитесь}

эти две команды установят правильный путь npm, и вам больше не нужно использовать sudo в npm. Далее удалите глоток

  1. npm uninstall gulp

  2. Installl глоток опять без судо, npm install gulp-g

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

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

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