Команда 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 ответов:
оказывается, что 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. Я сделал следующее.
- удаление глоток снова с судо
- изменение владельца /usr / local/lib/node_modules на моего пользователя
- установка глотка снова без sudo. "npm install gulp-g"
У меня была аналогичная проблема, я сделал следующие шаги, и это сработало.Перейдите на терминал mac и выполните команды,
1.npm config set prefix / usr / local
2.судо Чаун -Р $(whoami) $(НПМ конфиг сделать префикс)/{библиотека lib/node_modules, в,ОГРН,поделитесь}
эти две команды установят правильный путь npm, и вам больше не нужно использовать sudo в npm. Далее удалите глоток
npm uninstall gulp
Installl глоток опять без судо, npm install gulp-g
Это должно работать!!