npm install
との実質的な違いは何npm update
ですか? いつどれを使用する必要がありますか?
5 に答える
package.jsonで指定されたパッケージ バージョンのnpm installとnpm update処理の違い:
{
"name": "my-project",
"version": "1.0", // install update
"dependencies": { // ------------------
"already-installed-versionless-module": "*", // ignores "1.0" -> "1.1"
"already-installed-semver-module": "^1.4.3" // ignores "1.4.3" -> "1.5.2"
"already-installed-versioned-module": "3.4.1" // ignores ignores
"not-yet-installed-versionless-module": "*", // installs installs
"not-yet-installed-semver-module": "^4.2.1" // installs installs
"not-yet-installed-versioned-module": "2.7.8" // installs installs
}
}
概要: 唯一の大きな違いは、あいまいなバージョン管理を備えた既にインストールされているモジュールです...
- に無視される
npm install
- によって更新されます
npm update
さらに、デフォルトinstall
でupdate
は devDependencies を異なる方法で処理します
npm install
フラグが追加されていない限り、devDependenciesをインストール/更新します--production
npm update
フラグが追加されない限り、devDependenciesは無視されます--dev
なぜnpm install
まったく使用するのですか?
npm install
で依存関係を処理する以外に、見るともっと多くのことができるからですpackage.json
。npm installでわかるように、次のことができます...
- ノードモジュールを手動でインストールする
- を使用して、それらをグローバルとして設定します(シェルの に配置します
PATH
)npm install -g <name>
- git タグで記述された特定のバージョンをインストールする
- git URL からインストールする
- で再インストールを強制する
--force
npm installは、ファイルにリストされているすべてのモジュールpackage.json
とその依存関係をインストールします。
npm updateは、ディレクトリ内のすべてのパッケージnode_modules
とその依存関係を更新します。
npm install expressは、expressモジュールとその依存関係のみをインストールします。
npm update expressはexpressモジュールを更新します(npm@2.x以降、依存関係は更新されません)。
したがって、更新は、モジュールがすでにあり、新しいバージョンを取得したい場合のものです。
ほとんどの場合、npm で公開されているモジュールの最新バージョンがインストールされます。
npm install express --save
モジュールを最新バージョンにアップグレードするには、次のようにします。
npm install express@latest --save --force
--save
: パッケージは依存関係に表示されます。
詳細: npm-install
多くの違いがすでに述べられています。ここにもう1つあります:
ソース ディレクトリの最上部で実行すると、npm install
さまざまなスクリプトが実行されます: prepublish
、、、。これらのスクリプトの機能によっては、依存関係をインストールするだけでなく、かなり多くの作業を行う場合があります。preinstall
install
postinstall
npm install
prepublish
が呼び出されmake
、更新されたMakefile
場合に依存関係をフェッチするように設計されたユースケースがありpackage.json
ました。npm install
内部からの呼び出しMakefile
は無限再帰につながりますが、呼び出しは問題なく機能し、直接呼び出されたnpm update
場合でもビルドを続行できるようにすべての依存関係をインストールします。make