Arasındaki pratik fark nedir npm install
ve npm update
? Hangisini ne zaman kullanmalıyım?
Arasındaki pratik fark nedir npm install
ve npm update
? Hangisini ne zaman kullanmalıyım?
Yanıtlar:
Arasındaki fark NPM yüklemek ve npm güncelleme belirtilen paket versiyonlarının kullanım package.json :
{
"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
}
}
Özet : Tek büyük fark, bulanık versiyonlamaya sahip zaten kurulmuş bir modülün ...
npm install
npm update
Ayrıca : install
ve update
varsayılan olarak devDependencies
npm install
olacak / güncelleme yüklemek sürece devDependencies --production
bayrak eklenirnpm update
olacaktır görmezden sürece devDependencies --dev
bayrak eklenirNeden kullanılmalı npm install
?
Çünkü npm install
bağımlılıklarınızı ele almanın yanı sıra daha fazla şey yapar package.json
. Eğer görebileceğiniz gibi npm yüklemek yapabilirsiniz ...
PATH
)npm install -g <name>
--force
npm install --save somePackage
* bağımlılıkları kurtarmak için mümkün mü?
postinstall
, kurulumda çalıştır gibi komutların da güncellemede olmadığını unutmayın .
install
ve o zaman bu örnekleri örneğe eklemek harika olur. update
package.json
1.3.0 -> 1.3.1
bu benzer ^1.3.0
yerlerde, ^
yani güncellemeler ana sürüm 1.3.0 -> 1.4.0
.
npm install , package.json
dosyada listelenen tüm modülleri ve bağımlılıklarını yükler .
npm updatenode_modules
dizindeki tüm paketleri ve bağımlılıklarını günceller.
npm install express, yalnızca express modülünü ve bağımlılıklarını yükler.
npm update express güncellemeleri express modülü (npm@2.x ile başlayarak bağımlılıklarını güncelleştirmez).
Güncellemeler, modüle zaten sahip olduğunuzda ve yeni sürümü almak istediğinizde geçerlidir.
npm install
ya da npm update
? Ya da başka bir deyişle, şimdi kullanıyorum npm install
ve güncellemeyi de yapıyor gibi görünüyor, neden kullanmalıyım npm update
?
update
package.json'dan bağımsız olarak her zaman en son sürüme güncellenirken, package.json'da install
verilen sürüme saygı duyulur mu?
update
modülün en son sürümünü yükler (veya günceller). install
aksi belirtilmedikçe mevcut sürümü tutarsa, modülün son sürümünü yükler.
npm update
, paketinden bağımsız olarak paketinize göre en son sürüme güncellenir. "Express": "3.x" sürümünüz varsa ve 3.1.0 sürümündeyseniz, en son 3.x etiketine güncellenir. 4.x sürümü varsa, en son sürümünü yüklemez.
Çoğu durumda, bu npm'de yayınlanan modülün en son sürümünü yükler.
npm install express --save
veya en son sürümü kullanmak için daha iyi modül:
npm install express@latest --save --force
--save
: Paket bağımlılıklarınızda görünecektir.
Daha fazla bilgi: npm-install
npm install express@latest --save --force
tam olarak istediğim şeydi.
Birçok ayrımdan bahsedilmişti. İşte bir tane daha:
Koşu npm install
kaynak dizinin başında çeşitli komut dosyalarını çalışacak: prepublish
, preinstall
, install
, postinstall
. Bu komut dosyalarının ne yaptığına bağlı olarak, a npm install
bağımlılıkları yüklemekten çok daha fazla iş yapabilir.
Ben sadece prepublish
arayacak bir kullanım vakası vardı make
ve güncellenmiş Makefile
varsa bağımlılıkları getirmek için tasarlanmıştır package.json
. Çağrı npm install
içinden Makefile
görüşmesi özelliğini ederken, sonsuz özyineleme yol açmış olurdu npm update
eğer yapı bile devam böylece tüm bağımlılıkları kurmadan, sadece iyi çalıştı make
doğrudan çağrıldı.
redis
modülün ve other_module
eski bir sürümünü gerektirir redis
, npm install other_module
garanti edecektir other_module
eski bir sürümünü kullanacak. other_module/node_modules/redis
Gerekirse ekleyebilir .
npm update
: paketinde bulunan en son düğüm modülleriyle yükleme ve güncelleme. json
npm install
: package.json içinde tanımlanan düğüm modüllerini yükleyin (güncelleme olmadan)
npm update
içinde çok sayıda bağımlılıkları atlar package-lock.json
. Gerekli tüm paketleri mevcuttur sahip olmak ve package-lock.json
doğru olduğu, hep yürütmek zorunda npm install
hemen sonra npm update
.
~1.3
?