2017-12-03 9 views
0

私のubuntuシステムにノードをnvmでインストールしました。これまではスムーズに動作していましたが、私のプロジェクトの1つが$ NODE_PATHを設定し、nvmはそれを設定していません。

私は手動で設定しますが、ノードの複数バージョンを使用します。これを解決する最良の方法は何ですか?

は私が助けにはならなかったが、他の同様の質問と回答を読んだ

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 

ターミナルコマンドから次のような結果を得ることができます。私はすでにコマンドを試しました。

nvm use 8.9.1 

nvm alias default 8.9.1 

これらのコマンドは解決しません。それはそれを使用するアンチパターンだから

+0

'\ nvm which current \' 'または' \ 'どのノード\' 'に' $ NODE_PATH'を設定しようとしましたか?これはノードバイナリのパスを変数に設定します。ログインシェル。 – Raghu

答えて

0

(ここではNVMのメンテナ)

nvmは、意図的にNODE_PATHを設定していない - それがローカルにインストールされていないrequireものにあなたを可能にします。

nvm useを実行した後、手動で手動で設定することはできますが、それはまったく必要ではありません。 nvmは自動的に(意図的に)設定するフックを提供しません。

これを解決する最善の方法は、ノードがネイティブのESモジュール実装でサポートされていないときに、その非難された機能に依存しないようにプロジェクトをリファクタリングすることです。

関連する問題