2017-12-03 4 views
0

Ich habe Knoten in meinem ubuntu System mit nvm installiert. Es hat bis jetzt reibungslos funktioniert, aber eines meiner Projekte neds $ NODE_PATH gesetzt und nvm setzt es nicht.

Ich würde es manuell einstellen, aber ich verwende mehrere Version des Knotens. Was ist der beste Weg, dies zu lösen?

ich folgende Ergebnisse von Terminal-Befehle

node -v 
v8.9.1 

npm -v 
5.5.1 

which node 
/home/username/.nvm/versions/node/v8.9.1/bin/node 

echo $NODE_PATH 
[nothing] 

nvm --version 
0.33.6 

nvm ls 
->  v8.9.1 
     v9.0.0 
default -> v8.9.1 
six -> lts/boron (-> N/A) 
node -> stable (-> v9.0.0) (default) 
stable -> 9.0 (-> v9.0.0) (default) 
iojs -> N/A (default) 
lts/* -> lts/carbon (-> v8.9.1) 
lts/argon -> v4.8.6 (-> N/A) 
lts/boron -> v6.12.0 (-> N/A) 
lts/carbon -> v8.9.1 

ich ähnliche Fragen und Antworten gelesen haben dort nicht helfen. Ich habe bereits versucht, Befehle wie

nvm use 8.9.1 

nvm alias default 8.9.1 

Diese Befehle lösen es nicht.

+0

Haben Sie versucht, '$ NODE_PATH' auf' \ 'nvm welchen aktuellen \" 'oder' \ 'welchen Knoten \' 'zu setzen. Dadurch wird der Pfad der Knoten-Binärdatei auf die Variable gesetzt. Login-Shells. – Raghu

Antwort

0

(NVM Maintainer hier)

nvm absichtlich nicht NODE_PATH nicht festgelegt, da es sich um ein Antipattern ist, es zu benutzen - es erlaubt Ihnen zu require Dinge, die nicht lokal installiert sind.

Sie können es manuell einstellen, nachdem Sie nvm use ausgeführt haben, aber es sollte überhaupt nicht benötigt werden. nvm bietet keine Haken, um es automatisch zu setzen (durch Design).

Daher ist es am besten, wenn Sie Ihr Projekt so umgestalten, dass es nicht mehr auf diese veraltete Funktion angewiesen ist, die der Knoten bei seiner Landung nicht mit seiner systemeigenen ES-Modul-Implementierung unterstützt.

Verwandte Themen