web-dev-qa-db-ja.com

Node.js-NVMでの$ NODE_PATHの構成

設定中ですNode.jsNVMを組み合わせた場合、Yeomanを使用するとエラーが発生しました。エラーが発生しました

Cannot find module 'yeoman-generator'

いくつかの調査の後、私は StackOverflowに関するこの投稿 を見つけました。これも私の問題に関するものです。今私はそうしようとしましたが、私が抱えている問題は、NVMを使用するシステムでNode.jsの異なるバージョンを使用したいということです。 NVMの助けを借りてNode.jsのバージョンが変更された場合、$ NODE_PATHを動的に変更することは可能ですか?私の$ NODE_PATHは現在空なので(これが問題の原因です)。

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

これについて私が得るすべての答えについて喜んでいるでしょう。私はこれをウェブで検索しましたが、これに関する具体的な投稿は1つも見つかりませんでした。

25
Nick Schmidt

以下を.bashrcまたは.zshrcに追加すると役立ちます

export NODE_PATH=$NODE_PATH:`npm root -g`

それが良いかどうか私は専門家ではありません。

source Pensierinmusicaが指摘したとおり

21
jethar

実行すると、NVMはノードとnpmのパスを設定します

nvm use <node_version>

ただし、これは現在のシェルの場合に限られ、新しいバージョンのシェルでは、デフォルトのバージョンを設定しない限り、前のコマンドを実行するまで、ノードnpmが選択されません。

nvm alias default <node_version>

出来上がり!開いている新しいシェルにnpmとノードの作業バージョンがあります。

デフォルトを変更するには、使用したい新しいバージョンのノードでデフォルトを再度実行するだけです。例えば.

nvm alias default v5.4.0
14
Kosmonaut

私はこの仕事をする方法を考え出しました。

あなたの~/.bash_rcファイルまたは~/.zsh_rcこの行を追加:

export NODE_PATH=`which node`

新しいシェルを開くか、これを実行しますsource ~/.bash_rc変更を取得する

6
GN.