정자 명령을 찾을 수 없습니다


158

Mac에 Twitter Bower를 설치하려고했는데

npm install bower -g

그런 다음 시도 bower --help하고 출력했습니다 bower command not found. 왜 그런 겁니까?


2
의 결과는 무엇입니까 npm install? 실패 했습니까? 그것은 당신의 아닌 위치에 bower를 설치 했습니까 PATH?
jches


답변:


365

이 질문 ( npm 전역 경로 접두사 ) 에서와 같이 필요한 것만 설정하면됩니다 npm prefix.

유닉스 :

$ npm config set prefix /usr/local
$ npm install -g bower

$ which bower
>> /usr/local/bin/bower

Windows 및 NVM :

$ npm config set prefix /c/Users/xxxxxxx/AppData/Roaming/nvm/v8.9.2
$ npm install -g bower

그런 다음에 bower위치해야합니다 $PATH.


1
여러 프로젝트로 작업하는 경우 이것이 정답이 아니라고 덧붙이고 싶습니다. Bower는 다른 프로젝트에서 다른 버전을 사용할 수 있기 때문에 전 세계가 아닌 node_modules로컬에서 설치해야합니다 . 실제 문제는 시스템이 로컬 bower 실행 파일을 찾을 수 없다는 것입니다. package.jsonnpm
Bruno Finger

@BrunoFinger : 글로벌 범위에 bower를 설치할 때 그 대답은 문제를 해결하지 못합니다. 그러나 로컬 노드 패키지를 사용하는 것이 프로젝트 특정 도구를 다루는 더 좋은 방법 일 수 있습니다.
Petr Joachim

npm 접두사가 / usr / local로 설정되면 npm install -g가 sudo없이 실패합니다.
imafish 2016 년

새로운 프로젝트에는 Bower를 사용하지 않는 것이 좋습니다. 원사와 웹팩 또는 소포를 고려하십시오.
다니엘

60

나는 당신이 실제로 올바르게 설치되지 않았 음을 거의 확신합니다. 전역으로 설치하려고하므로 sudo로 실행해야합니다.

sudo npm install -g bower

3
이것이 bower를 설치하는 방법입니다. 그렇지 않으면 명령을 실행 한 폴더에 설치됩니다. -g는 전역을 의미하며 시스템 명령, bower, grunt-cli, npm으로도 실행될 수있는 모듈에 필요한 링크를 생성합니다.
Erick Ruiz de Chavez

sudo로 설치하지 마십시오! 양조 의사를 사용하고 양조 의사가 제안한 수정 사항을 작성하면 sudo를 사용할 필요가 없습니다!
djangofan 2016 년

4

이것은 bower와 함께 나에게 나타나지만 bower 문제가 아닌 것으로 판명되었습니다.

노드에 문제가있는 것 같습니다. 파일이 경로에 있지만 setuid / setgid 비트가 설정되어 있으면 찾을 수 없습니다.

다음은 s 비트가 설정된 파일입니다. (유닉스 '문제 없음')

ls -al / usr / local / bin -rwxrwsr-- 110 루트 nmt 5535636 2012 년 7 월 17 일 자식

다음은 노드 시도입니다.

> which.sync('git')
Error: not found: git

권한을 변경합니다 (chomd 755 git). 이제 노드를 찾을 수 있습니다.

> which.sync('git')
'/usr/local/bin/git'

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


3

노드 버전 관리자를 사용하고 있습니다. 다른 버전의 노드로 전환했기 때문에이 오류 메시지가 나타납니다. bower를 설치 한 노드 버전으로 다시 전환하면이 오류가 사라졌습니다. 제 경우에는 명령이nvm use stable


3

또는 npxnpm> 5.6과 함께 사용할 수 있습니다 .

npx bower install


1
이것이 정답입니다. npm을 사용하여 전역 모듈을 설치해서는 안됩니다.
chovy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.