mimikunの技術メモ

mimikunがプログラミング中調べてわかったことをまとめていくブログです

npm install のオプションについて

全然わからないので調べた。

ドキュメントの説明(NPMの場合)

npm installは、指定されたパッケージをデフォルトで依存関係に保存します。 さらに、いくつかの追加のフラグを使用して、どこにどのように保存するかを制御できます。

  • -P, --save-prod: パッケージは依存関係に表示されます。 -Dまたは-Oが指定されていない場合、これがデフォルトです。

  • -D, --save-dev: パッケージはdevDependenciesに表示されます。

  • -O, --save-optional: パッケージは、あなたのoptionalDependenciesに表示されます。

  • --no-save: 依存関係への保存を禁止します。

上記のいずれかのオプションを使用してpackage.jsonへの依存関係を保存する場合、2つの追加のオプションフラグがあります。

  • -E, --save-exact: 保存された依存関係は、npmの既定のセーム範囲演算子を使用するのではなく、正確なバージョンで構成されます。

  • -B, --save-bundle: 保存された依存関係もbundleDependenciesリストに追加されます。

ドキュメントの説明(yarnの場合)

これは公式ドキュメントの方が詳しいだろう。

ちょっと調べてみた。

うん、全然わからん。

例えばどういうタイミングで npm i -D とするのだろうか?

というわけでそもそもdependenciesとは?というところに着目してみた。

そもそもdependenciesとは

公式ドキュメントにあった。

公式見る癖をつけるようにしていきたい。

Specifying Dependencies

プロジェクトが依存するパッケージを指定するには、package.jsonファイルで使用するパッケージを一覧表示する必要があります。 リストできるパッケージには2種類あります:

  • "dependencies": これらのパッケージは、アプリケーションで本番環境で必要となります。
  • "devDependencies": これらのパッケージは、開発とテストのためにのみ必要です。

つまり、productionで必要なパッケージはdependencies で、developmentで必要なパッケージにはdevDependenciesを付けるということだ。

うん。かんぜんにりかいした。

簡単に依存関係を追加する方法

The --save and --save-dev install flags

依存関係をpackage.jsonに追加する簡単な方法(より素晴らしい方法)は、コマンドラインから行うことです。どのようにしたいかに応じて、 - saveまたは--save-devのいずれかでnpm installコマンドにフラグを立てます。そして、その依存関係を使用してください。

  • package.jsonの依存関係にエントリを追加するには:
npm install --save <package_name>
        or
yarn add <package_name>
  • package.jsonのdevDependenciesにエントリを追加するには:
npm install --save-dev <package_name>
        or
yarn add --dev <package_name>

参考

install | npm Documentation

05 - Working with package.json | npm Documentation

yarn add | Yarn

npm からの移行 | Yarn