2012-10-05 3 views
11

zsh에서 npm을 통해 vows을 설치하는 데 문제가 있습니다. 여기 내가 얻는 것이있다. 나는 -g 옵션을 사용하거나 사용하지 않고 설치를 시도했다. 여기서 뭐가 잘못 됐는지 알아?nsh를 zsh에 설치 한 후 명령을 찾을 수 없습니다.

[❤ ~/Desktop/sauce-node-demo:master] npm install -g vows 
npm http GET https://registry.npmjs.org/vows 
npm http 304 https://registry.npmjs.org/vows 
npm http GET https://registry.npmjs.org/eyes 
npm http GET https://registry.npmjs.org/diff 
npm http 304 https://registry.npmjs.org/eyes 
npm http 304 https://registry.npmjs.org/diff 
/usr/local/share/npm/bin/vows -> /usr/local/share/npm/lib/node_modules/vows/bin/vows 
[email protected] /usr/local/share/npm/lib/node_modules/vows 
├── [email protected] 
└── [email protected] 
[❤ ~/Desktop/sauce-node-demo:master] vows 
zsh: command not found: vows 

감사

+0

rehash를 통해 쉘의 경로 캐시를 새로 고쳤습니까? –

+0

아직 아무것도하지 않고서도 / – optikfluffel

답변

27

당신이 브루을 사용하여 Node.js를 설치 한 경우는, NPM 바이너리 /usr/local/share/npm/bin에서 찾을 수 있습니다. 이 디렉토리가 PATH 환경 변수에 있는지 확인해야합니다. 따라서 ~/.zshrc 파일에 export PATH=/usr/local/share/npm/bin:$PATH을 추가하십시오.

+2

Mac에서는 export PATH = "$ HOME/.npm-packages/bin : $ PATH"를 my ~/.zshrc에 추가했습니다. –

-1

문제는 ZSH 완료에 관한 것입니다.

당신은 당신의 .zshrc이 줄을 추가해야합니다

zstyle ':completion:*' rehash true 

당신이 아 - 내 - zsh을이, 홍보이 이루어진 경우, 당신이 그것을 통합 할 수 있습니다 그것을 당기면 때까지 https://github.com/robbyrussell/oh-my-zsh/issues/3440

23

시작 부분에 source /home/YOUUSERNAME/.bash_profile을 추가하면 누락 된 명령이 모두 감지됩니다. 사용자의

: 맥 OS에게 사용자 source /Users/YOUUSERNAME/.bash_profile

+3

이것은 모든 명령을 가져 오기 때문에 실제로 가장 좋은 솔루션이었습니다! –

+0

매우 쉬운 해결책, 감사합니다. – Jessycormier

+0

당신은 환영합니다 ...이 답변으로 개발 시간을 줄이는 데 도움이된다면, [커피 한잔 :]] (https://www.paypal.me/AbdennourT/2) –

0

을 추가 .bash_profile.profile대신 사용하는 것이 좋습니다. 당신은 수동으로 ~/.zshrc에 추가해야 할 수 있습니다

source $HOME/.profile 

참고 이러한 파일이 기본적으로이 없다는 것을! 인용 slhck https://superuser.com/a/473103는 : 존재와 텍스트 편집기에서 엽니 다하지 않는 경우

어쨌든, 당신은 단순히 파일을 만들 수 있습니다.

touch ~/.profile 
open -e !$ 

추가 된 값에 관계없이 사용되는 쉘의 환경을 설정하는 하나의 파일을 사용하는 좋은 사람을 느낀다는 것이다. zsh에 bash 설정 파일을로드하는 것은 어색했다.

.profile 왜냐하면 https://stackoverflow.com/a/415444/2445063

에 의해 허용 대답을 인용

는 단순히 원래 /bin/sh에서 사용하는 로그인 스크립트 파일 이름입니다. 하나 https://stackoverflow.com/a/415410/2445063

.profile 루트에 대한 .bash_profile하는 것과 동일 필립 에크 베르그의 연구/의견에 따라

을 존재하는 경우 배쉬, /bin/sh에 일반적으로 이전 버전과 호환되고, .profile을 읽습니다. 나는 다른 쉘 (csh, sh, tcsh)도 그것을 사용하도록 이름이 변경되었다고 생각한다.bash는에 대해 slhck 다시 점점 관심 메모를

을 (당신은 사용자로 하나 필요하지 않습니다) :

당신이 ~/.bash_profile라는 파일을 생성하면

(...) 당신의 ~/.profile 더 이상 읽지 않을 것이다.

관련 문제