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