npm -g でグローバルインストールしたときに、モジュールがインストールされるパスを調べる
npmとは、Node.jsのモジュールを管理するためのパッケージマネージャーです。
モジュールがインストールされる場所ですが、「npm install」を実行すると、このコマンドを実行したカレントディレクトリにモジュールがダウンロードされます。
つまり、そのモジュールは別のプロジェクトからは利用できないということです。
そこで、よく使うモジュールで、毎回インストールするのは面倒だという場合、グローバルインストールという手法を使います。
グローバルインストールすると、全てのプロジェクトから利用することができます。
npm install -g (モジュール名)
とコマンドを打てば、グローバルインストールすることができます。
グローバルインストール先、つまりどこにモジュールがインストールされているのか調べたい場合は、
$ npm root -g /usr/local/lib/node_modules
また、Node.jsがモジュールを探す時に検索するパスを調べてみましょう。
以下のコマンドで、Node.jsがモジュールを探しに行くパスを表示することができます。
$ node -e "console.log(global.module.paths)" [ '/home/vagrant/node_modules', '/home/node_modules', '/node_modules' ]
また、これに加えて、NODE_PATHも検索するので、環境変数「NODE_PATH」にグローバルなパスを登録することで、グローバルインストールしたモジュールのパスを正しく検索することができるようになります。
$ export NODE_PATH=/usr/local/lib/node_modules