2012-10-05 11 views
11

Sto riscontrando qualche problema nell'installazione di vows tramite npm in zsh. Ecco cosa ricevo. Ho provato a installarlo con e senza l'opzione -g. Hai idea di cosa c'è che non va qui?Comando non trovato dopo l'installazione di npm in 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 

Grazie

+0

Si è tentato di aggiornare la cache del percorso della shell tramite rehash? –

+0

niente ancora dopo aver fatto ciò =/ – optikfluffel

risposta

27

Se si è installato Node.js utilizzando Homebrew, binari NPM possono essere trovati in /usr/local/share/npm/bin. Dovresti assicurarti che questa directory sia nella variabile d'ambiente PATH. Quindi, nel tuo file ~/.zshrc aggiungi export PATH=/usr/local/share/npm/bin:$PATH.

+2

Su mac, ho aggiunto 'export PATH =" $ HOME/.npm-packages/bin: $ PATH "' al mio '~/.zshrc'. –

-1

Penso che il problema riguardi il completamento di ZSH.

È necessario aggiungere questa riga nel vostro .zshrc:

zstyle ':completion:*' rehash true 

Se si dispone di Oh-mio-zsh, è stato fatto un PR, è possibile integrare fino a quando non viene tirato: https://github.com/robbyrussell/oh-my-zsh/issues/3440

23

aggiungi source /home/YOUUSERNAME/.bash_profile all'inizio di ~/.zshrc

E tutti i comandi mancanti verranno rilevati.

Per Mac utenti: aggiungere source /Users/YOUUSERNAME/.bash_profile

+3

Questa era in realtà la soluzione migliore perché importa tutti i comandi! –

+0

soluzione molto semplice, grazie. – Jessycormier

+0

Prego ... Se questa risposta ti aiuta a ridurre il tempo di sviluppo, puoi darmi una tazza di caffè:)] (https://www.paypal.me/AbdennourT/2) –

0

per MacOS utenti: considerare l'utilizzo di .profileinvece di .bash_profile. Si può ancora necessario aggiungere manualmente al ~/.zshrc:

source $HOME/.profile 

Si noti che non v'è alcun tipo di file di default! Citando slhck https://superuser.com/a/473103:

In ogni caso, si può semplicemente creare il file se non esiste e aprirlo in un editor di testo.

touch ~/.profile 
open -e !$ 

Il valore aggiunto è che ci si sente bene l'uomo ad utilizzare un singolo file per impostare l'ambiente, indipendentemente dalla shell utilizzata. Il caricamento di un file di configurazione bash in zsh sembrava imbarazzante.

Citando una risposta accettata da Cos https://stackoverflow.com/a/415444/2445063

.profile è semplicemente il nome del file script di accesso originariamente utilizzato dai /bin/sh. bash, essendo generalmente retro-compatibile con /bin/sh, leggerà .profile se ne esiste uno

A seguito di Filip Ekberg ricerca/opinione https://stackoverflow.com/a/415410/2445063

.profile è l'equivalente di .bash_profile per la radice. Penso che il nome sia cambiato in modo che anche altre shell (csh, sh, tcsh) lo usino.(Non avete bisogno di uno come utente)

tornare a slhck, un nota di attenzione per quanto riguarda bash:

(...) una volta che si crea un file chiamato ~/.bash_profile, il vostro ~/.profile non verrà più letto