npm installのオプションの意味

develop/JavaScript
概要

Node.jsのパッケージマネージャーのnpmはJavaScriptのライブラリーの設置・インストール時によく使います。

その際のnpm installコマンドのオプションで–save-devの意味が分からなかったので、理解するために整理します。

以下のnpm v8の情報を参考にしました。

書式

npm installの書式は以下となります。

npm install (with no args in a package dir)
npm install <tarball file>
npm install <tarball url>
npm install <folder>
npm install [@<scope>/]<name> [--save|--save-dev|--save-optional] [--save-exact]
npm install [@<scope>/]<name>@<tag>
npm install [@<scope>/]<name>@<version>
npm install [@<scope>/]<name>@<version range>
npm i (with any of the previous argument usage)

基本は引数なしで実行すると、package.jsonの内容をベースにインストールします。その他、引数でパッケージ名やパッケージファイルを指定できます。

-g|–globalオプションを指定するとnpmのインストール場所にインストールして、それ以外はローカルのnode_modulesディレクトリーにパッケージをインストールします。

引数を指定してnpm installを実行すると、インストールしたパッケージの依存関係の情報をpackage.jsonに書き込みます。

その際、依存関係の種類に応じて、書き込みオプションが3個あります。

オプション書込み先
-P|–save-prod dependencies
-D|–save-dev devDependencies
-O|–save-optional optionalDependencies

デフォルトは-Pとなります。-D|–save-devはテストツールなどのインストール時に使います。

devDependenciesの依存関係は、npm install –productionやNODE_ENV環境変数にproductionが設定されている場合にインストールされないという意味があります。

結論

npm installのオプションの説明でした。

今回はJestのインストール時に登場した–save-devの意味が分からなかったので、調べました。npm install他、package.jsonの該当プロパティーの意味も確認する必要があり、情報が散らばっていて手間取りました。

ひとまず理解できて安心できたのでよかったです。他にも必要な情報があれば随時情報を追記します。

Comments

  1. This Article was mentioned on web.gnusocial.jp

Copied title and URL