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.jsonのdependenciesに追記するオプションで、これによりpackage.jsonを共有することで誰でも同じ環境を構築することができる。
現在のnpmでは–saveオプションは不要
2017年5月にリリースされたnpmのバージョン5系以降より、デフォルトでdependenciesに追記されるようになったので現在は--saveオプションの指定は不要となっている。
–save-devオプションについて
似たようなオプションで--save-devというオプションも存在する。
これはnpm install -gがパッケージをグローバルインストールするコマンドであるのに対し、--save-devをつけることでローカルインストールであることを明示しているだけのこと。
また、--saveオプション同様、インストールしたパッケージ名をdependenciesに追記してくれる。
こちらのオプションも、今ではnpm installがローカルインストールとdependenciesへの追記を兼ねているため、特に使う場面はなくなっている。