1. ホーム
  2. macos

[解決済み] Yeomanインストール後の「yo: コマンドが見つかりません」を修正する方法

2022-02-14 06:22:31

質問

この指示に従い、npmを使用してyeomanを2回インストールしようとしました。 http://yeoman.io/learning/index.html

1回目の失敗の後、以下の手順でnodeをアンインストールしました。 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: コマンドが見つかりません

どうしたのでしょうか?ヨーマン・ドクターは言います: "すべて大丈夫そうです!"

解決方法は?

問題の原因は、NVMを使用しながら同時にNODE_PATHを設定していることです。NVMはバージョン固有のルートにグローバルパッケージをインストールするので、NVMを使用するときはNODE_PATH変数を一切設定するべきではありません。

NODE_PATHにあるパッケージをすべて削除し、環境変数を削除して、yoとジェネレータ、その他必要なグローバルパッケージをインストールしてください。すると、文句を言わなくなり、現在のバージョンと一致する nvm サブディレクトリにすべてが収まります。

NVMで異なるバージョンのNodeを使い始めたら、グローバルパッケージを再インストールしてください。そうすることで、すべてのものがバージョンごとにきちんと整理されます。

この議論の詳細については、こちらをご覧ください。 https://github.com/creationix/nvm/pull/97