はじめに
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で管理したほうが後の混乱が少ないかなと思います。