JavaScript

npm installで迷っていたこと

グローバルインストールとローカルインストール

ローカルインストール

$ npm install [ ライブラリ名 ]

ローカルインストールは、コマンドを叩いた直下のプロジェクト内にnode_modulesを生成し、その中にインストールされます。

他のプロジェクトに影響しないので、基本こちらのコマンドでインストールすることが多いと思います。

グローバルインストール

$ npm install -g [ ライブラリ名 ]

グローバルとは、ローカルインストールと違ってどのプロジェクトからも呼び出せるインストールです。

ローカルインストールでは、プロジェクト直下にインストールしていたのに対して、グローバルインストールでは、

Users/ユーザー名/.nodebrew/current/lib/node_modulesへインストールされます。

dependenciesとdevDependencies

npm installでインストールされたパッケージは、package.jsonに記載されていきます。

しかし、よくdependencies: { }devDependencies: { }の2箇所にライブラリ名が記述されています。

これについて説明します。npm install時のオプションでどちらにインストールさせるかを指定できます。

npm install –save [ ライブラリ名 ]

dependenciesに指定されます。

通常、npm installを実行すると、package.jsonに記述されている全てのライブラリがインストールされます。

しかし、npm install –productionを実行することで、dependenciesのみをインストールすることができます。

オプションは、–saveもしくは-Sを使います。

npm install –save-dev [ ライブラリ名 ]

devDependenciesに指定されます。こちらにはよく、テストにしか使わないようなライブラリを指定します。

devDependenciesに書かれたライブラリは、他の開発者がnpm installしただけではインストールされません。

オプションは、–save-devもしくは-Dを使います。

まとめ

・グローバルインストール → 全てのプロジェクト
・ローカルインストール → プロジェクト毎

・npm install → dependencies, devDependenciesの両方が対象
・npm install –production → dependenciesのみ対象

COMMENT

メールアドレスが公開されることはありません。