bower 명령을 찾을 수없는 창


107

나는 bower를 사용하거나 (파운데이션 5를 설치하기 위해) 명령 줄에서 작업과 관련된 bower를 얻으려고 시도하는 데 큰 문제가 있습니다.

나는 설치했다

  • 루비 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
나는 이것에 잠시 동안 붙어 있었다. 모든 것이 설정되고 재부팅되었으며 심지어는 새 Windows 8.1 시스템에서 bower가 작동하지 않는 동안 작동했습니다. 글로벌 npm_modules 폴더에 들어가서 거기에서 '언 스턱'이 된 것은 아닙니다. Bower는 내 프로젝트 폴더에서 작업했습니다. 재부팅했는데 문제가 여전히 해결되었습니다 ... 이상한 대답, 알아요.하지만이게 저에게 일어난 일입니다.
user1889992

답변:


247

나는 또한이 문제에 부딪쳤다 npm install -g bower. npm의 바이너리 폴더를 내 경로에 추가하여 문제를 해결했습니다.

다음은이를 수행하는 데 도움이되는 몇 가지 힌트입니다.

  1. npm 글로벌 바이너리의 위치를 ​​찾으십시오 : npm config get prefix. 이 경로는 다음과 같을 수 있습니다 C:\Users\username\AppData\Roaming\npm(또는 ChocolateyC:\ProgramData\chocolatey\lib\nodejs.commandline.X.XX.XX\tools 를 사용하는 경우 ).
  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 2014

작동 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에서 직면 한 것과 동일한 문제에 대해 저에게 효과적이었습니다.
Monis Iqbal

19

이것이 도움이 될 경우.

저는 npm / bower nooB입니다-하지만 제 경우에 일어난 일은 npm을 통해 사용되도록 설정된 bower 가있는 것처럼 보이는 Angular JS 튜토리얼을 사용하고 있다는 것입니다. 명령 줄을 통해가 아니라 입니다.

참고 : 제 경우에는 정자 설치가 엉망인 것 같습니다. 내 정자 설치를 수정하기 위해 이것을 실행했습니다.

npm install -gf bower

그런 다음 bower.json 파일을 편집하여 사용하려는 새 라이브러리에 추가했습니다 (제 경우에는 angular-sanitize).

내 프로젝트 위치에 CD

cd myProjectPath

그런 다음 bower를 실행하기 위해 실제로 npm install을 사용했습니다.

npm install

이것은 bower를 노드 패키지로 실행하는 것으로 보이며, 차례로 bower.json을 스캔하고 누락 된 bower 패키지를 설치합니다.

bower를 npm 패키지로 실행하려면 npmbower 명령 앞에 추가하십시오 .

npm bower -v

도움이 되었기를 바랍니다,


1
"npm을 통해 사용"하는 방법은 무엇입니까?
steampowered

안녕하세요 steampowered-솔직히 말해서 내가 이것을 쓴 지 오래되었습니다. 나는 bower를 실행하는 '정상적인'방법이 명령 줄에서 나온 것이라고 생각한다 : bower 그러나 위의 텍스트에서 나는 사용하고 있었다 : npm install
Sean

11

위의 솔루션이 작동하지 않는 경우. 명령 프롬프트에서 bower를 사용하려면 절대 경로를 지정해야한다고 생각합니다. 내 앱 폴더에서

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

이것은 내 bower.cmd의 내용입니다. 내 창에서 ~ dp0 변수를 인식하지 못하는 것 같습니다.

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

그렇기 때문에 정자 설치 굉장한 것으로 작동했지만 정자 설치로 작동하려면 필요합니다 :(
Dragutescu Alexandru

bower.json이없는 메시지를 받았습니다
hfrog713 2016

2

이것은 Windows PATH 변수가 1024 기호 길이에 가까운 경우에 발생합니다. 따라서 "C : \ Users \ username \ AppData \ Roaming \ npm"과 같은 새로운 링크는 이에 적합하지 않습니다.

경로를 확인하고 추가 항목을 제거하고 node.js 및 bower 등을 다시 설치하십시오. 또한 1024 길이 제한을 늘리는 방법 이 있습니다.


1

다른 사람들이 언급했듯이 환경 변수에 bower를 추가해야하지만 찾는 가장 쉬운 방법은 먼저 npm 위치를 입력 한 다음 Browse File시스템에서 bower 를 사용 하고 찾는 것입니다 (검색 창에서도 검색 할 수 있음). 위치는 사용자마다 다를 수 있습니다.

내 끝에서 샘플


1

1. Windows cmd를 입력합니다.

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을 설치 한 후이 문제가 발생했습니다. 여기에 나열된 대부분의 솔루션을 시도했지만 Powershell 명령 줄에서 'bower -v'를 인식하지 못했습니다. Chocolatey Install이 Powershell의 '모든 것'이기 때문에 이것은 약간 이상하게 보였습니다. 결국 Powershell이 ​​업데이트 된 PATH 변수 설정을 찾을 수 있도록 경로를 설정하여 성공할 수 있었지만 그 이유와 방법을 이해하는 데 도움이 필요했습니다.

처음에는 Powershell에 실패한 후 표준 DOS 명령 줄 (powershell에서 cmd / c를 사용하지 않음)으로 이동하여 위에서 설명한 모든 경로 설정 변형을 성공적으로 수행하고 bower 및 bower 명령이 인식되는 것을 성공적으로 확인할 수있었습니다. DOS 명령 줄로. 그리고 cmd 창에 전체 업데이트 된 경로 (C : \ ProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.34 \ tools)가 표시됩니다. 버전 번호는 명예로운 KimchiMan의 목록에서 변경 될 수 있습니다.

이 PATH는 새 DOS 명령 줄 창을 닫고 열 때까지 지속되었지만 Powershell 창에서 인식되지 않았습니다.

그런 다음 다음과 같은 관련 토론을 발견했습니다. . Powershell 경로 설정 설정.

이것은 Powershell이 ​​시작할 때 HKLM 경로 설정 버전을 인식 함을 나타냅니다. 그리고 세션 (비 영구) 또는 레지스트리 (영구)에서 경로를 설정할 수 있습니다. 다음은 그 논의에서 직접 나온 것입니다.

다음 명령은 powershell 세션에 대한 PATH를 임시로 설정할 수 있습니다.

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

다음 명령은 모든 새 Powershell 세션에 대해 영구적으로 PATH를 설정할 수 있습니다.

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

그러나 이전에 프로그래밍 방식으로 레지스트리 설정을 설정하는 것을 엉망으로 만들었으며 PS 스크립트 한두 줄이 작업에 전혀 달려 있다고 생각하지 않습니다. 그래서 나는 시도조차하지 않았다 이 옵션을 .

대신 제어판 / 시스템 콘솔로 이동하여 환경 변수 대화 상자를 통해 경로를 변경했습니다. DOS 명령 줄에서 PATH 설정을 사용하여 경로를 변경하려는 모든 노력이 Windows 세션 중에 작동했지만 Dos 세션이 다음과 같이 실행 중임에도 불구하고 새 경로 항목이 환경 변수 / 레지스트리에 유지되지 않았다는 것을 알았습니다. 관리자.

제어판을 통해이 변경을 수행 한 후 Chococlatey의 도구 폴더 (및 아마도 모든 후속 도구 설치)의 bower에 대한 업데이트 된 경로가 영구적으로 설정되었으며 bower는 DOS 명령 줄과 Powershell 명령 줄에서 모두 사용할 수있었습니다.

도움이 되었기를 바랍니다...


0

64 비트를 제거하고 32 비트 버전의 nodejs를 git- 32 비트와 함께 설치했습니다!


0

같은 문제가있었습니다. 방금 "npm install -g bower"를 실행 한 다음 다운로드 한 디렉토리를 방문했습니다. 제 경우에는 위치가 "C : \ Users \ user \ AppData \ Roaming \ npm \ node_modules \ bower"였습니다.

디렉토리에서 나는 bower를 실행했고 다른 디렉토리에서도 모든 것이 잘 작동했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.