2015-01-10 20 views
6

Sulla mia strada impostazione Node.js con NVM, mi sono imbattuto in un errore quando si utilizza Yeoman. Ho ottenuto l'errore

Cannot find module 'yeoman-generator' 

Dopo alcune ricerche ho trovato this post on StackOverflow, che è anche mio problema. Ora ho provato a farlo, ma il problema che ho è che voglio usare diverse versioni di Node.js sul sistema con l'uso di NVM. Ora è possibile modificare il $ NODE_PATH in modo dinamico, se la versione di Node.js cambia con l'aiuto di NVM? Perché il mio $ NODE_PATH è vuoto al momento (questo sta causando il problema).

$ which node 
/Users/dschmidt/.nvm/v0.10.35/bin/node 
$ which npm 
/Users/dschmidt/.nvm/v0.10.35/bin/npm 
$ echo $NODE_PATH 
[empty] 

Sarei felice di ogni risposta che otterrò su questo. Ho cercato sul Web per questo, ma non sono riuscito a trovare un post su questo in particolare.

+0

'$ export NODE_PATH = whatever' – laggingreflex

+3

Lo so, ho citato ** ** dinamicamente. –

+0

Anche cercando quello che gli altri hanno fatto. Hai trovato una soluzione @DominikSchmidt? –

risposta

1

Ho pensato a un modo per farlo funzionare.

Nel file ~/.bash_rc o ~/.zsh_rc aggiungere questa riga:

export NODE_PATH=`which node` 

Aprire nuova shell o eseguire questo source ~/.bash_rc per raccogliere le modifiche

+0

'quale nodo' in zshrc sembra fare riferimento al nodo di sistema. 'which $ NODE_PATH' che sputa '/ usr/local/bin/node'. Quindi '/ usr/local/bin/node -v' è il nodo di sistema per me –

4

NVM sarà impostare il percorso per il nodo e NPM, una volta che si esegue

nvm use <node_version> 

Tuttavia, questo è solo per la shell corrente e qualsiasi nuova shell non avrà una versione di nodo e npm selezionata fino a quando ur eseguire il comando precedente a meno che non si imposta una versione predefinita

nvm alias default <node_version> 

voilà! Hai una versione funzionante di npm e nodo in ogni nuova shell che apri.

Per modificare il valore predefinito, eseguirlo nuovamente con la nuova versione del nodo che si desidera utilizzare. per esempio.

nvm alias default v5.4.0 
+1

Lei ha la risposta più precisa alle domande probabilmente su tutta la rete! Saluti!! –

+0

Ho dovuto abbandonare i contrassegni di inversione di marcia '' affinché questo funzioni per me. Controlla altri noobs. nvm alias default x.x.x Sono su Linux Mint 18.1 Serena che usa nvm. –