npm install には-gオプションがありますが、これを設定すべきときはいつなのかについてまとめました.

1.global / local の違い

a. global

global はシステム全体で対象のパッケージを利用できるようにします.

ファイルの保存場所としては、モジュールを{prefix}/lib/node_modulesに、実行ファイルを{prefix}/binに格納します.

{prefix}は/usr/localのようなディレクトリですが、環境によって異なります.

マニュアルも同時にインストールされます.マニュアルの場所は{prefix}/share/manです.

b. local

local はnpm installを実行するディレクトリでパッケージを利用できるようにします.

ファイルの保存場所としては、モジュールを./node_modulesに、実行ファイルを./node_modules/.bin/に格納します.

マニュアルはインストールされません.

 

2.どちらを使うべきか

requireを使ってプログラム内で呼び出しを行う場合は、そのプログラムが属するプロジェクトのルートディレクトリに対してlocalインストールすべきです.

shellのコマンドラインやshell scriptから利用する場合は、globalインストールすべきです.

 

3.迷った場合は

Coffee-script や Expressのように、コマンドラインからも利用するがrequireでJavaScriptのライブラリとしても利用するパッケージは、2.の判断基準では選択できません.

このような場合は、global / localともにインストールしてしまう方がシンプルで分かりやすいです.

 

Leave a Reply

Your email address will not be published. Required fields are marked *