これらの指示に従って、npmを2回使用してyeomanをインストールしようとしました: http://yeoman.io/learning/index.html
最初の障害の後、次の手順を使用してノードをアンインストールしました: Node.jsを完全にアンインストールし、最初から再インストールする方法(Mac OS X) 次に、nvmとnode/npmを(nvm経由で)インストールしました1つのエラーがあります:
[Yeoman Doctor] Uh oh, I found potential errors on your machine
---------------
[Error] NPM root value is not in your NODE_PATH
[info]
NODE_PATH = /Users/joanna/.nvm/v0.10.22/lib/node_modules:.
NPM root = /Users/joanna/.node/lib/node_modules
[Fix] Append the NPM root value to your NODE_PATH variable
Add this line to your .bashrc
export NODE_PATH=$NODE_PATH:/Users/joanna/.node/lib/node_modules
Or run this command
echo "export NODE_PATH=$NODE_PATH:/Users/joanna/.node/lib/node_modules" >> ~/.bashrc && source ~/.bashrc
そのコマンドを貼り付けてから、npm install -g yo
もう一度。
Yeomanサイトの指示を再度実行しても、まだyeomanが見つかりません。次のエラーが表示されます:-bash:yo:command not found
なにが問題ですか?ヨーマン・ドクターは言う:「すべてが大丈夫だ!」
問題の原因は、NVMを同時に使用しているときにNODE_PATHが設定されていることです。 NVMを使用する場合、NVMはバージョン固有のルートにグローバルパッケージをインストールするため、NODE_PATH変数を使用しないでください。
NODE_PATHにあるすべてのパッケージを削除し、環境変数を削除して、yoおよびジェネレーターまたは必要なその他のグローバルパッケージをインストールします。文句を言うのをやめて、すべてが現在のバージョンに一致するnvmサブディレクトリにあることがわかります。
NVMで別のNodeバージョンを使用し始めたら、グローバルパッケージを再インストールします。これにより、意図したとおりにバージョンごとにすべてが整然と整理されます。
このディスカッションの詳細はこちら: https://github.com/creationix/nvm/pull/97
必要なのは、追加この行を.bash_profile
export PATH="$PATH":~/.node/bin
execute thisで自動的に追加できます:
printf "\nexport PATH=\"\$PATH\":%s\n" ~/.node/bin >> ~/.bash_profile
OS X 10.9、10.10、10.11、Ubuntu 14.04でテスト済み
ショートバージョン:
シェルで、次のコマンドを入力します。
npm config set prefix ~/npm
echo "export NODE_PATH=$NODE_PATH:/home/$USER/npm/lib/node_modules" >> ~/.bashrc && source ~/.bashrc
次に、Yeomanを再インストールします。
npm install -g yo
その後、すべてが正常に動作するはずです!
説明:
Yoコマンドは機能したが、インストールしたジェネレーターがインストール後に表示されないことを除いて、同様の条件がありました。これで問題は解決しました。
問題は、npmパスが/ usr/localに設定されていることです。これは、root/Sudo特権を必要とするディレクトリです。yoはユーザーコマンドであるため、スーパーユーザーとして実行しないでください。実行Sudo yo
、Yeomanはそれを明示的に伝えます。
また、chown -R $USER:$USER /usr/local
、およびchmod -R /user/local +rw
、しかしそれらのどれも助けなかった。
以前に/ usr/localにインストールされていたノードモジュール(yoジェネレーターはノードモジュールでもある)は使用できなくなる可能性があり、再インストールが必要になることに注意してください。
Ubuntuでの私にとっては、以下だけがうまくいきました...
Ubuntu 14.04.2でテスト済み
これは、ubuntu-trusty-64を使用したVirtualBoxへのUbuntu 14.04.2の基本インストールでした。
Nodeとnpmをインストールしたばかりで、うまく機能していました。
npm install -y -g yo
echo export PATH="$HOME/npm/bin:$PATH" >> ~/.bashrc
npm config set prefix ~/npm
echo "export NODE_PATH=$NODE_PATH:/home/$USER/npm/lib/node_modules" >> ~/.bashrc && source ~/.bashrc
npm install -y -g yo
はい、yeomanをインストールし、パスの問題を修正してから、yeomanを再インストールする必要がありました。
説明は上記のOleg Tikhonovとbfred.itからです
付け加えるだけで、私はOS X 10.11.1を使用しています。steveが言及したコードは私にも機能します。
npm install -y -g yo
echo export PATH="$HOME/npm/bin:$PATH" >> ~/.bashrc
npm config set prefix ~/npm
echo "export NODE_PATH=$NODE_PATH:/home/$USER/npm/lib/node_modules" >> ~/.bashrc && source ~/.bashrc
npm install -y -g yo
上記の提案を試してみたところ、予想どおり、yeomanが/Users/joanna/.node/bin/yo
にインストールされていることに気付きました。 /usr/local/bin
でyo、grunt、bowerへのシンボリックリンクを設定します
ln -s /Users/joanna/.node/bin/yo /usr/local/bin/yo
ln -s /Users/joanna/.node/bin/grunt /usr/local/bin/grunt
ln -s /Users/joanna/.node/bin/bower /usr/local/bin/bower
現在はすべて動作しますが、リンクが将来問題を引き起こす可能性があることを心配しています。より良い解決策はありますか?
npm
がインストールされている場所を確認します。
where npm
上記のコマンドを実行すると、次のようにnpm
があるディレクトリが一覧表示されます。
/usr/local/Cellar/node/5.1.0/libexec/npm/bin/npm
次のように、bin
フォルダーまでパスをコピーし、PATH
変数と同じものをエクスポートします。
export PATH=$PATH:/usr/local/Cellar/node/5.1.0/libexec/npm/bin
私は使用しました:
$HOME/npm/bin
そして、それはかなりうまくいきました!
In MAC OSX
私の場合、私は実行しなければなりませんでした:
npm config delete prefix
次に、nvmバージョンを設定します
nvm use 8
そしてそれは動作します