Cli: [BUG] pembaruan npm --kedalaman istirahat dependensi

Dibuat pada 17 Des 2019  ·  4Komentar  ·  Sumber: npm/cli

Apa sebabnya

NPM melaporkan ketergantungan yang tidak terpenuhi setelah melakukan pembaruan rekursif/dalam

Kapan


Dimana



  • tidak ada

Bagaimana

Perilaku Saat Ini

Langkah-langkah untuk Reproduksi

  1. Buat folder secara lokal dan jalankan npm init
  2. Instal paket dengan lebih dari satu tingkat dependensi, misalnya npm i -D @semantic-release/exec
  3. Tunggu salah satu dependensi mendalam mereka untuk mendapatkan versi yang lebih baru
  4. Jalankan npm --depth 9999 update

Perilaku yang Diharapkan

  • Seharusnya tidak ada dependensi yang tidak terpenuhi. Pembaruan dilakukan sesuai dengan file package.json dari induknya atau npm-shrinkwrap.json dari leluhurnya.
  • Dengan kata lain, itu harus bertindak seolah-olah tidak ada package-lock.json dan melanjutkan untuk menyelesaikan semua dependensi, menginstal/memperbarui/menghapus seperlunya, dan kemudian memperbarui lockfile dengan pohon yang diselesaikan.

Siapa



  • tidak ada

Referensi



  • tidak ada

Bug

Komentar yang paling membantu

Sepertinya saya sudah menyiapkan masalah duplikat

Apa sebabnya

Perintah npm update --depth <number> kehilangan dev: true untuk dependensi devDependencies yang diperbarui.

Kapan

  • Setiap kali saya menggunakan npm update --depth <number> untuk paket dengan dependensi devDependencies yang tidak baru

Dimana

  • npm registri publik

Bagaimana

Perilaku Saat Ini

Kehilangan dev: true untuk dependensi devDependencies yang diperbarui

Langkah-langkah untuk Reproduksi

  1. Ambil repo ini https://github.com/pahan35/npm-bugs
  2. Cabang pembayaran loses-dev-for-dev-deps
  3. Jalankan npm i
  4. Jalankan npm update --depth 7

Perilaku yang Diharapkan

Saya berharap tindakan ini akan mempertahankan dev: true untuk dependensi devDependencies yang diperbarui

Referensi

Mungkin terkait dengan #944

Semua 4 komentar

Sepertinya saya sudah menyiapkan masalah duplikat

Apa sebabnya

Perintah npm update --depth <number> kehilangan dev: true untuk dependensi devDependencies yang diperbarui.

Kapan

  • Setiap kali saya menggunakan npm update --depth <number> untuk paket dengan dependensi devDependencies yang tidak baru

Dimana

  • npm registri publik

Bagaimana

Perilaku Saat Ini

Kehilangan dev: true untuk dependensi devDependencies yang diperbarui

Langkah-langkah untuk Reproduksi

  1. Ambil repo ini https://github.com/pahan35/npm-bugs
  2. Cabang pembayaran loses-dev-for-dev-deps
  3. Jalankan npm i
  4. Jalankan npm update --depth 7

Perilaku yang Diharapkan

Saya berharap tindakan ini akan mempertahankan dev: true untuk dependensi devDependencies yang diperbarui

Referensi

Mungkin terkait dengan #944

Saya juga mengalami bahwa npm update lupa flag dev untuk dependensi ketika --depth lebih besar dari 0. Mungkin tidak perlu untuk kedalaman yang lebih rendah?

Saya menemukan bahwa flag dev dipulihkan setelah menginstal ulang modul node ( rm -rf node_modules; npm install )

Saya melihat masalah yang sama kehilangan flag dev setelah menggunakan npm update --depth tetapi hanya untuk dependensi dev proyek saya yang merupakan dependensi nyata pada dependensi lain.

Dalam kasus saya, ketergantungan lain menambahkan "@types/node" sebagai ketergantungan tetapi pada proyek saya memilikinya sebagai ketergantungan dev:

package.json dari ketergantungan "a":

{
  name: "a",
  dependencies: {
    "@types/node": ">=5.10"
  }
}

proyek saya:

{
  dependencies: {
    "a": "1.0.0"
  },

  devDependencies: {
    "@types/node": "^12.0.0",
    "somethingElse": "1.0.0"
  }
}

setelah npm update --depth=99 flag dev ok untuk somethingElse tetapi salah untuk @type/node

edit: npm install tampaknya menyimpan @types/node sebagai dependensi dev di root + sebagai dependensi di node_module bersarang di komponen "a".
npm update menginstalnya hanya sekali sebagai ketergantungan di root

Apakah halaman ini membantu?
0 / 5 - 0 peringkat