いずれかのパッケージをインストールする手順が表示されます
npm install <package_name>
または
npm install <package_name> --save
または
npm install <package_name> --save-dev
これらのオプションの違いは何ですか?
npm install <package_name> --save
はパッケージをインストールし、package.jsonの依存関係を更新します。この質問が尋ねられたので、--save
がデフォルトオプションになったので、npmに変更があったため、--save
を使用して依存関係を更新する必要はありません。
npm install <package_name> --no_save
はパッケージをインストールしますが、package.jsonにリストされている依存関係は更新しません。
npm install <package_name> ---save-dev
は、パッケージのdevDependencies
を更新します。これらはローカルのテストと開発にのみ使用されます。
詳細は https://docs.npmjs.com/getting-started/using-a-package.json で確認できます。
npm installは、メインpackage.jsonのパッケージバージョンを保存または更新する3つの排他的でオプションのフラグを取ります。
-S、-save:パッケージが依存関係に表示されます。
-D、-save-dev:パッケージがdevDependenciesに表示されます。
-O、-save-optional:optionalDependenciesにパッケージが表示されます。
上記のオプションのいずれかを使用してpackage.jsonへの依存関係を保存する場合、追加のオプションのフラグがあります。
-E、--save-exact:保存された依存関係は、npmのデフォルトのsemver範囲演算子を使用するのではなく、正確なバージョンで構成されます。さらに、npm-shrinkwrap.jsonがある場合は、同様に更新されます。
<scope>
はオプションです。パッケージは、指定されたスコープに関連付けられたレジストリからダウンロードされます。指定されたスコープにレジストリが関連付けられていない場合、デフォルトのレジストリが想定されます。 npm-scopeを参照してください。
注:スコープ名に@記号を含めない場合、npmはこれを代わりにGitHubリポジトリとして解釈します。以下を参照してください。スコープ名の後にはスラッシュも必要です。
例:
npm install sax --save npm install githubname/reponame npm install @ myorg/privatepackage npm install node-tap --save-dev npm install dtrace-provider --save-optional npm install readable-stream --save --save-exact
注:現在の作業ディレクトリに<name>
という名前のファイルまたはフォルダーがある場合、それをインストールしようとし、有効でない場合にのみ名前でパッケージを取得しようとします。
(公式ドキュメントより) https://docs.npmjs.com/cli/install
--save
フラグはもはや目的を果たしません。
以前は、他の回答が述べたように、--save
フラグはプロジェクトのpackage.json
ファイルの依存関係を更新しますが、npm install
はデフォルトでこの機能を含みます。
この時点で、npm install
が依存関係を保存しないようにするには、--no-save
フラグを使用する必要があります。
コメント でこれについて言及してくれたCoruscate5に感謝します。
npm-install documentation の詳細情報:
npm installは、指定されたパッケージをデフォルトで依存関係に保存します。さらに、いくつかの追加フラグを使用して、保存場所と保存方法を制御できます。
-P、-save-prod:パッケージが依存関係に表示されます。 -Dまたは-Oが存在しない限り、これがデフォルトです。
-D、-save-dev:パッケージがdevDependenciesに表示されます。
-O、-save-optional:optionalDependenciesにパッケージが表示されます。
--no-save:依存関係への保存を防ぎます。
上記のオプションのいずれかを使用してpackage.jsonへの依存関係を保存する場合、2つの追加のオプションフラグがあります。
-E、-save-exact:保存された依存関係は、npmのデフォルトのsemver範囲演算子を使用するのではなく、正確なバージョンで構成されます。
-B、-save-bundle:保存された依存関係もbundleDependenciesリストに追加されます。