NPM'deki devDependencies'ı nasıl güncelleyebilirim?


155

npm updatesadece paketleri güncellemek gibi görünüyor dependencies, amadevDependencies .

Şu anda devDependenciesçalıştırarak yükleyebilirsiniz npm install ., ancak bu işe yaramaznpm update .

Herhangi bir fikir?


1
Ben sadece aynı şeyle karşılaştım. Ben arasındaki bu asimetri de şaşırdım npm installve npm update. node_modulesDizini silerek ve sonra npm installtekrar çalıştırarak etrafta çalıştım , ancak daha iyi bir yol olması gerektiği gibi görünüyor.
Joe White

7
Bu davranış için bir hata raporu açtım . Ne olacağını göreceğiz.
Joe White

Bunun nedeni, NPM geliştiricilerinin insanların geliştirme npm linkortamları yapmak için kullanacağını düşündükleri olabilir .
Julian Knight

Yanıtlar:


157

Yerel modüllere ek olarak package.json dosyasını güncellemek için,

npm update --save-dev

Alternatif olarak, zaman kazanmak için aynı komut

npm update -D

Güncellemenin tüm ayrıntılarını veya bu konuyla ilgili herhangi bir komutu

npm help <cmd>

20
npm update -Dbenim için çalışmadı, hiçbir şey güncellemedi.
AmazingDreams

27
Soru, güncellemelerin nasıl kaydedileceği package.jsondeğil, npm updatedevDependencies'ın nasıl güncelleneceği hakkında soru olduğunda neden doğru cevap olarak işaretleniyor ?
Alejandro García Iglesias


1
npm update --save-devbenim için iyi çalışıyor. Düğüm v12.11.0ve npm kullanmav6.11.3
maximedupre



4

Eski npm sürümünü kullanıyorsanız sorun olabilir. Diğer komutlar yürütülmeden önce:

sudo npm install npm -g

veya (yukarıdaki yöntem işe yaramazsa):

sudo npm update npm -g

Ardından konsolu yeniden başlatın (değişikliklerin yürürlüğe girmesi için). Şimdi yeninizi kontrol edebilirsiniz npm --versionve güncel olup olmadığını yürütün:

npm update

veya (isterseniz):

npm update --save-dev

Ne yazık ki, bu npm 5'te çalışmaz. İşte sorunu izleyen iş parçacığı .
Dan Dascalescu

2

Güncellemeyi zorlamanın bir (yavaş) yolu, node_modules dizinini kaldırmak ve npm installyeniden yapmaktır .

Bu, npm updategeliştirme dalında düzeltilen bilinen bir komut hatasıydı, npmburaya bakın: https://github.com/isaacs/npm/pull/3863

Yakında npm'in en son kararlı sürümüne inmelidir.


1
Npm> v5 olması durumunda, package-lock.jsonbu işi yapmak için de kaldırmanız gerekir , aksi takdirde bu kilit dosyasında listelenen sürümleri yükler.
karfau

Ayrıca, bu package.jsonsizin için güncellenmez . İşte sorunu izleyen iş parçacığı .
Dan Dascalescu

2

OP ile aynı problemle karşılaştım ve çözüm bulamadım, bu yüzden devDependencies'imi otomatik olarak güncelleyecek bir Grunt eklentisi yazmaya karar verdim.

Github'da, NPM'nin sağlamadığı en iyi araç olmasını sağlamak için bazı girdi ve işbirlikleri almak isterim.

Temel olarak, eski geliştirme bağımlılıklarınızı basit bir Grunt Görevi ile otomatik olarak güncelleyecektir.

https://github.com/pgilad/grunt-dev-update


2

Benim için işe yarayan, bunun gibi bireysel geliştirici bağımlılıkları kurmaktır

npm install react-test-renderer@15.6.1 --save --only=dev

1

Bu adımlar benim için çalıştı:

  1. npm install -g npm-check-updates
  2. ncu -u
  3. npm update
  4. npm install
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.