Bagaimana cara memperbarui devDependencies di NPM?

155

npm updatetampaknya hanya memperbarui paket di dependencies, tetapi bagaimana devDependencies.

Saat ini Anda dapat menginstal devDependenciesdengan menjalankan npm install ., tetapi ini tidak berhasilnpm update .

Ada ide?

Mat
sumber
1
Saya hanya mengalami hal yang sama. Saya terkejut dengan asimetri antara npm installdan npm update. Saya mengatasinya dengan menghapus node_modulesdirektori saya dan kemudian berjalan npm installlagi, tapi sepertinya ada cara yang lebih baik.
Joe White
7
Saya membuka laporan bug untuk perilaku ini. Kita akan lihat apa yang terjadi.
Joe White
Ini mungkin karena para npm linkdev NPM berpikir bahwa orang akan menggunakannya untuk melakukan lingkungan dev.
Julian Knight

Jawaban:

157

Untuk memperbarui package.json di samping modul lokal, jalankan

npm update --save-dev

Atau, perintah yang sama untuk menghemat waktu

npm update -D

Anda dapat melihat detail lengkap pembaruan, atau perintah apa pun untuk masalah ini

npm help <cmd>
deckerdev
sumber
20
npm update -Dtidak bekerja untuk saya, itu tidak memperbarui apa pun.
AmazingDreams
27
Mengapa ini ditandai sebagai jawaban yang benar ketika pertanyaannya bukan bagaimana menyimpan pembaruan package.jsontetapi bagaimana membuat npm updatepembaruan devDependencies?
Alejandro García Iglesias
@ onalbi: tidak. Inilah utas yang melacak masalah .
Dan Dascalescu
1
npm update --save-devbekerja dengan baik untuk saya. Menggunakan node v12.11.0dan npmv6.11.3
maximedupre
55

Instal npm-periksa-pembaruan ( https://www.npmjs.org/package/npm-check-updates ), lalu lompat ke folder proyek Anda dan jalankan:

npm-check-updates

Dan untuk memperbarui dan menyimpan perubahan pada file package.json Anda:

npm-check-updates -u
Michael Thompson
sumber
ncuakan lebih baik daripada npm-check-updatesmenyimpan mengetik.
Edric
@DimitriKopriwa hanya ada -dopsi untuk devDependencies
Michael Thompson
ncu --dep dev -u; npm install
Kiruahxh
7

Masalah ini tidak lagi dipotong dengan versi NPM saat ini (1.3.11).

Pembaruan berfungsi dengan baik: npm update

spieglio
sumber
1
Sayangnya tidak. Inilah utas yang melacak masalah .
Dan Dascalescu
4

Jika Anda menggunakan versi npm yang sudah usang, mungkin masalahnya. Jadi sebelum perintah lain dijalankan:

sudo npm install npm -g

atau (jika di atas tidak berhasil):

sudo npm update npm -g

Kemudian jalankan kembali konsol (agar perubahan diterapkan). Sekarang Anda dapat memeriksa yang baru npm --versiondan jika sudah selesai jalankan:

npm update

atau (jika Anda suka):

npm update --save-dev
Jmarceli
sumber
Sayangnya, ini tidak berfungsi di npm 5. Inilah utas yang melacak masalah .
Dan Dascalescu
2

Salah satu (lambat) cara untuk melakukan pembaruan paksa, adalah menghapus direktori node_modules, dan kemudian lakukan npm installlagi.

Ini adalah bug yang diketahui dari npm updateperintah, yang telah diperbaiki pada cabang pengembangan npm, lihat di sini: https://github.com/isaacs/npm/pull/3863

Seharusnya segera mendarat di versi stabil terbaru npm.

Rick Deckard
sumber
1
Dalam hal npm> v5 Anda juga perlu menghapus package-lock.jsonuntuk membuat ini berfungsi, jika tidak hanya akan menginstal versi yang tercantum dalam file kunci itu.
karfau
Juga, ini tidak akan diperbarui package.jsonuntuk Anda. Inilah utas yang melacak masalah .
Dan Dascalescu
2

Saya mengalami masalah yang sama dengan OP, dan tidak menemukan solusi, jadi saya memutuskan untuk menulis sebuah plugin Grunt yang akan secara otomatis memperbarui devDependencies saya ..

Ada di Github, saya ingin mendapatkan masukan dan kolaborasi untuk menjadikannya alat terbaik yang belum disediakan NPM.

Pada dasarnya ini akan memperbarui secara otomatis dependensi pengembangan Anda yang sudah usang dengan Grunt Task yang sederhana.

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

Gilad Peleg
sumber
2

Apa yang berhasil bagi saya adalah menginstal dependensi dev individual seperti ini

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

Langkah-langkah ini berhasil bagi saya:

  1. npm install -g npm-check-updates
  2. ncu -u
  3. npm update
  4. npm install
Alferd Nobel
sumber