2012-10-05 10 views
11

Mam pewne problemy z instalowaniem vows przez npm w zsh. Oto, co otrzymuję. Próbowałem zainstalować go z opcją -g i bez niej. Czy masz pojęcie, co jest nie tak?Polecenie nie znaleziono po instalacji npm w 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 

Dzięki

+0

Czy próbowałeś odświeżyć pamięć podręczną ścieżki powłoki przez ponowne uruchomienie? –

+0

nadal nic po wykonaniu =/ – optikfluffel

Odpowiedz

27

Jeśli zainstalowano node.js za pomocą Homebrew, binarne KMP można znaleźć w /usr/local/share/npm/bin. Powinieneś się upewnić, że ten katalog jest w zmiennej środowiskowej PATH. Tak więc w pliku dodaj export PATH=/usr/local/share/npm/bin:$PATH.

+2

Na Macu dodałem 'export PATH =" $ HOME/.npm-packages/bin: $ PATH "' do mojego '~/.zshrc'. –

23

dodać source /home/YOUUSERNAME/.bash_profile na początku ~/.zshrc

I wszystkie brakujące polecenia zostaną wykryte.

Dla Mac użytkowników: dodać source /Users/YOUUSERNAME/.bash_profile

+3

To było rzeczywiście najlepsze rozwiązanie, ponieważ importuje wszystkie polecenia! –

+0

bardzo łatwe rozwiązanie, dziękuję. – Jessycormier

+0

Nie ma za co ... Jeśli ta odpowiedź pomoże Ci zaoszczędzić czas, możesz dać mi [filiżankę kawy:)] (https://www.paypal.me/AbdennourT/2) –

0

dla MacOS użytkowników: rozważyć użycie .profilezamiast z .bash_profile. Nadal może trzeba ręcznie dodać go do ~/.zshrc:

source $HOME/.profile 

pamiętać, że nie ma takiego pliku domyślnie! Cytowanie slhck https://superuser.com/a/473103:

W każdym razie, można po prostu utworzyć plik, jeśli nie istnieje i otwórz go w edytorze tekstowym.

touch ~/.profile 
open -e !$ 

Wartością dodaną jest to, że czuje się dobrego człowieka do korzystania z jednego pliku do skonfigurowania środowiska, niezależnie od powłoki używanej. Ładowanie pliku konfiguracyjnego bash w zsh wydawało się niezręczne.

Cytując odpowiedź zaakceptowanej przez Cos https://stackoverflow.com/a/415444/2445063

.profile jest po prostu nazwa pliku skryptu logowania pierwotnie używane przez /bin/sh. bash, będąc ogólnie wstecznie kompatybilny z /bin/sh, odczyta .profile jeśli taki istnieje

Po Filip Ekberg scenie badań/opinii https://stackoverflow.com/a/415410/2445063

.profile jest odpowiednikiem .bash_profile do korzenia. Myślę, że nazwa została zmieniona tak, aby inne powłoki (csh, sh, tcsh) również ją używały.(Nie trzeba jeden jako użytkownik)

wracając do slhck, a zanotować uwagi dotyczące bash:

(...) raz utworzyć plik o nazwie ~/.bash_profile Twój ~/.profile nie będą już czytane.