はじめに

Vue.jsの開発環境を用意している中で、
npmのインストール方法の違いで少し躓いてしまったので調べてみました。

npmとは

Node.jsのパッケージ管理ツールで、「Node Package Manager」の略。
npmを使うと、
フレームワークやプラグインなどを簡単にインストールすることができます。



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

npmのインストール方法には、
グローバルインストールとローカルインストールの2つがあります。

グローバルインストール

$ npm install hogehoge -g

グローバルインストールは、 -g をつけて実行したもので、
nodeコマンドと同じ場所にインストールされます。
一度インストールすると、プロジェクトによらずその環境全体で使用できるようになります。
コマンドのパスが通るので、コマンド実行したい場合は便利かもしれません。

ちなみに、グローバルインストールしたコマンドの確認方法

$ npm bin -g
/usr/local/Cellar/node/8.8.1/bin

グローバルインストールしたnode_modulesの場所の確認方法

$ npm root -g
/usr/local/Cellar/node/8.8.1/lib/node_modules

ローカルインストール

$ npm install hogehoge

ローカルインストールは、カレントディレクトリにインストールされます。
--save オプションを付けると、package.jsonに記載されます。
複数人で開発するときに --save でpackage.jsonに記載しておけば、
npm install で他の開発者の環境にも同じパッケージをインストールすることができます。

ローカルインストールした場合は、実行したディレクトリ(カレントディレクトリ)に
node_modulesのディレクトリが作成されてその中にインストールされます。



で、どっちがいいの?

いろいろな方の書かれた記事を読む限りでは、
「基本はローカルインストール、どうしても求められたときだけグローバルインストール」
かなと思いました。
「どうしても求められたとき」というのは、
どうやらIDEによってグローバルインストールを求められることがあるそうなので一応。
基本は、ある特定のプロジェクトで使用するためにnpm install するはずなので、
ローカルインストールしてpackage.jsonで管理したほうが後の混乱が少ないかなと思います。

スポンサーリンク