npm installコマンドは、Node.jsパッケージをnpm(Node Package Manager)経由でインストールするコマンドだが、古い記事なんかだと以下のように--saveオプションを付けて実行する例がよく見受けられる。

npm install --save gulp

俺自身もnpmを学習し始めた頃は、--saveオプションは付けるものとして学んだ記憶があるが、最近ではこのオプションはどうやら不要になったらしい。

そもそも–saveオプションとは

npm installを実行してインストールしたパッケージはnode_modulesディレクトリ内に保存されるのだが、node_modulesディレクトリは大抵Git管理からignoreされるはずだ。

--saveオプションはインストールしたパッケージ名をpackage.jsondependenciesに追記するオプションで、これによりpackage.jsonを共有することで誰でも同じ環境を構築することができる。

現在のnpmでは–saveオプションは不要

2017年5月にリリースされたnpmのバージョン5系以降より、デフォルトでdependenciesに追記されるようになったので現在は--saveオプションの指定は不要となっている。

–save-devオプションについて

似たようなオプションで--save-devというオプションも存在する。

これはnpm install -gがパッケージをグローバルインストールするコマンドであるのに対し、--save-devをつけることでローカルインストールであることを明示しているだけのこと。

また、--saveオプション同様、インストールしたパッケージ名をdependenciesに追記してくれる。

こちらのオプションも、今ではnpm installがローカルインストールとdependenciesへの追記を兼ねているため、特に使う場面はなくなっている。