1. ホーム
  2. node.js

[解決済み] -saveと-save-devの違いは何ですか?

2022-02-17 20:51:46

質問

とはどのような違いがあるのでしょうか。

npm install [package_name]

とします。

npm install [package_name] --save

とします。

npm install [package_name] --save-dev

これはどういうことなのでしょうか?また --save-dev のキーワードは?

解決方法は?

との違いは --save--save-dev は、自分のプロジェクトで両方試したことがある人は、すぐには気づかないかもしれません。そこで、いくつかの例を挙げてみましょう。

を使用するアプリを構築していたとします。 モーメント パッケージを使用して、日付をパースして表示します。あなたのアプリはスケジューラーなので、実行するにはどうしてもこのパッケージが必要です、というように。 これがないと実行できない . この場合、次のように使用します。

npm install moment --save

これは、package.jsonに新しい値を作成することになります。

"dependencies": {
   ...
   "moment": "^2.17.1"
}

開発をしていると、テストスイートなどのツールを使うのが本当に便利で、場合によっては ジャスミンコア カルマ . この場合、次のようになります。

npm install jasmine-core --save-dev
npm install karma --save-dev

これはまた、package.jsonに新しい値を作成することになります。

"devDependencies": {
    ...
    "jasmine-core": "^2.5.2",
    "karma": "^1.4.1",
}

あなたがすること 不要 は、通常の状態でアプリを実行するためのテストスイートである。 --save-dev 型の依存関係であり、それ以上ではありません。実際に何が起こっているのかを理解していないと、ちょっと想像しにくいことがおわかりいただけると思います。

NPMのドキュメントから直接引用 docs#dependencies

<ブロッククオート

依存関係

依存関係はパッケージ名をマッピングしたシンプルなオブジェクトで指定します。 をバージョン範囲に設定します。バージョン範囲は、1つ以上の文字列です。 スペースで区切られた複数の記述子。依存関係は、以下のように特定することもできます。 には、tarball や git の URL を指定します。

テストハーネスやトランスパイルは依存関係に入れないでください。 オブジェクトを作成します。devDependencies を参照してください。 以下のとおりです。

ドキュメントの中でも、「このような場合は --save-dev をテストハーネスのようなモジュールに使用することができます。