команда bower не найдена windows


107

У меня огромные проблемы с попытками использовать bower (для установки Foundation 5) или получить что-нибудь, связанное с работой в командной строке.

Я установил

  • рубин 1.9.3
  • git (с параметром запуска из командной строки)
  • Nodejs

Я успешно бежал

npm install -g bower grunt-cli
gem install foundation

и они работали нормально. Я просмотрел npm/node_modulesкаталог и увидел там bowerпапку.

Каждый раз, когда я печатаю bowerлибо в cmd, ruby cmdлибо git bashполучаю

команда не распознана

Я установил путь git в переменных среды.

Что раздражает, так это инструкция на сайте беседки. Здесь утверждается:

npm install -g bower
bower install

Что ж, это не работает!



Недавно я написал в блоге сообщение о том, как начать работу с Bower. Это супер простой, и есть репозиторий на github, где вы можете проверить код. Может быть, это вам поможет: thelifelifebalance.com/llb-web-app-series-part-1-bower
cs_stackX

2
Я тоже на время застрял в этом. Все было настроено, перезагружено и даже ворчание работало, в то время как bower не работал на моей новой машине с Windows 8.1. Только когда я зашел в глобальную папку npm_modules и запустил оттуда bower, она «отклеилась». Затем Бауэр работал из папки моего проекта. Я перезагрузился, и проблема все еще решена ... Странный ответ, я знаю, но у меня это произошло именно так.
user1889992

Ответы:


247

Я тоже столкнулся с этой проблемой npm install -g bower. Я решил проблему, добавив в свой путь двоичную папку npm.

Вот несколько полезных советов для этого:

  1. Найти местоположение ваших НПХ глобальных двоичных файлов: npm config get prefix. Этот путь может выглядеть примерно так C:\Users\username\AppData\Roaming\npm(или C:\ProgramData\chocolatey\lib\nodejs.commandline.X.XX.XX\toolsесли вы используете Chocolatey ).
  2. Добавьте путь из шага 1 к вашему пути.

    • Откройте Панель управления Windows, выполните поиск environmentи щелкните либо edit environment variables for your account, либо Изменить системные переменные среды`.

    • Найдите переменную с именем Pathили PATHили создайте ее, если она не существует.

    • Вставьте сюда путь из шага 1 (с ;разделителями).

    • Возможно, вам потребуется перезапустить окно командной строки.

  3. Теперь вы можете вводить bowerкоманды.


1
Для шоколадных пользователей: C: \ ProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.33 \ tools
KimchiMan

Работает на npm 1.3.2и bower 1.7.9.
Animesh Pandey

В моем случае 'C: \ Users \ username \ AppData \ Roaming \ npm' уже был установлен в vairables среды, однако запуск 'npm config get prefix' показал, что в пути был .ssh (C: \ Users \ username \ .ssh \ AppData \ Roaming \ npm), поэтому перезапись этого параметра в переменной среды устранила проблему.
Monis Iqbal

for / f% a ('npm config get prefix') do setx path% a
Alex

Просто чтобы уведомить других, это сработало для меня с той же проблемой, с которой я столкнулся с Jenkins через Windows, в отличие от многих ответов, указывающих на диагностику, связанную с Jenkins.
Монис Икбал,

19

в случае, если это поможет.

Я npm / bower nooB, но в моем случае я использовал учебник Angular JS, который, кажется, настроил bower для использования через npm , а НЕ через командную строку напрямую.

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

npm install -gf bower

Затем я отредактировал свой файл bower.json, чтобы добавить новую библиотеку, которую я хотел использовать (в моем случае angular-sanitize)

Я CD к месту моего проекта

cd myProjectPath

Затем для запуска bower я фактически использовал npm install:

npm install

Кажется, это запускает bower как пакет узла, который, в свою очередь, сканирует bower.json и устанавливает все отсутствующие пакеты bower.

Чтобы запустить bower как пакет npm, добавьте npmперед командой bower:

npm bower -v

надеюсь это поможет,

Шон


1
Как "использовать через npm"?
Steampowered

привет Steampowered - честно говоря, прошло много времени с тех пор, как я это написал. Думаю, я имел в виду, что «нормальный» способ запустить bower - из командной строки: bower, но в тексте выше я использовал: npm install
Шон

11

Если вышеуказанные решения не работают. Я думаю, вам следует указать абсолютный путь для использования беседки в командной строке. В папке своего приложения я просто звоню

C:\Users\yourusername\AppData\Roaming\npm\bower.cmd install

Это содержимое моего bower.cmd. Похоже, мои окна не могут распознать переменную ~ dp0,

node  "C:\Users\yourusername\AppData\Roaming\npm\node_modules\bower\bin\bower" %*

да, это сработало как bower install awesome, но мне нужно, чтобы оно работало как bower install :(
Dragutescu Alexandru

Получил сообщение no bower.json present
hfrog713 05

2

Это определенно произойдет, если длина вашей переменной Windows PATH близка к 1024 символам. Так что новые ссылки, такие как «C: \ Users \ username \ AppData \ Roaming \ npm», просто не подходят для этого.

Проверьте свой PATH, удалите лишнее и попробуйте переустановить node.js и bower и т. Д. Также есть способ увеличить лимит длины 1024


1

Как уже упоминалось, необходимо добавить беседку в переменные среды, но самый простой способ найти - просто сначала ввести свое местоположение npm, а затем использовать Browse Fileи найти беседку в своей системе (вы также можете найти ее в строке поиска), потому что расположение может отличаться для разных пользователей.

образец в моем конце


1

1. Введите cmd в windows:

for /f %a ('npm config get prefix') do setx path %a

2. Перезагрузить cmd


0

Та же проблема. Я решил это с помощью другой версии беседки. Работает, когда я пытался использовать версию 1.2.6

$ npm install -g bower@1.2.6


0

У меня возникла эта проблема после установки Chocolatey 0.9.8.28. Я пробовал большинство решений, перечисленных здесь, но мне не удалось распознать «bower -v» в командной строке Powershell. Это казалось немного странным, так как Chocolatey Install полностью посвящен Powershell. В конце концов мне удалось добиться успеха, установив путь так, чтобы Powershell мог найти обновленные настройки переменной PATH, но мне нужна была помощь, чтобы понять, почему и как это сделать, что я предоставляю ниже:

После первоначальной неудачи с Powershell я смог перейти к стандартной командной строке DOS (не используя cmd / c в PowerShell) и успешно выполнить все варианты настройки пути, которые обсуждались выше, и успешно увидеть, как bower и команды bower распознаны из командной строки DOS. И окно cmd показало полный обновленный путь (C: \ ProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.34 \ tools) - обратите внимание, что номер версии может измениться по сравнению с листингом уважаемого KimchiMan.

Этот ПУТЬ сохранялся при закрытии и открытии новых окон командной строки DOS, но он не распознавался (никогда) ни в одном из окон Powershell.

Затем я обнаружил следующую связанную дискуссию: Установить параметры пути Powershell.

Это указывает на то, что Powershell распознает версию настроек пути HKLM при запуске. И можно установить путь ЛИБО В сеансе (непостоянный) или в реестре (постоянный). Следующее прямо из этого обсуждения.

Эти команды могут временно установить ПУТЬ для СЕССИИ PowerShell:

$env:Path = 'New path'
[System.Environment]::SetEnvironmentVariable('Path', 'New Path', 'Process')

Эти команды могут навсегда установить PATH для всех новых сеансов Powershell:

Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Session Manager\Environment' -Name 'Path' -Value 'New Path'
[System.Environment]::SetEnvironmentVariable('Path', 'New Path', 'Machine')

Но я раньше не мог настраивать параметры реестра программно, и я не верю, что одна или две строчки сценария PS вообще подходят для этой задачи. Так что я даже не пробовал этот вариант.

Вместо этого я пошел в Панель управления / Системную консоль и изменил путь в диалоговом окне «Переменные среды». Я заметил, что все усилия, которые я предпринял для изменения пути с помощью установки PATH в командной строке DOS, работали во время сеанса Windows, но новая запись пути не сохранялась в переменных среды / реестре, хотя сеанс Dos выполнялся как администратор.

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

надеюсь это поможет...


0

Удаление 64-битной и установка 32-битной версии nodejs вместе с git- 32bit работали!


0

Была такая же проблема. Я просто запустил «npm install -g bower», затем посетил каталог, в который он был загружен, в моем случае местоположение было «C: \ Users \ user \ AppData \ Roaming \ npm \ node_modules \ bower»

Из каталога я запустил bower, и все работает нормально, даже из другого каталога

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.