Rumah > hujung hadapan web > tutorial js > Apakah yang dilakukan `npm install --legacy-peer-deps` dan bilakah ia disyorkan?

Apakah yang dilakukan `npm install --legacy-peer-deps` dan bilakah ia disyorkan?

Linda Hamilton
Lepaskan: 2024-11-28 14:15:19
asal
962 orang telah melayarinya

What does `npm install --legacy-peer-deps` do and when is it recommended?

Apakah yang dilakukan oleh npm install --legacy-peer-deps? Bilakah ia disyorkan / Apakah kes penggunaan yang berpotensi?

TL;DR:

  • NPM v7 memasang kebergantungan rakan sebaya secara lalai; ini tidak berlaku dengan versi NPM sebelumnya.
  • Modul NPM mesti menamakan versi tertentu bagi kebergantungan rakan sebaya mereka.
  • Jika anda sudah memasang ketergantungan rakan sebaya, tetapi tidak dengan versi yang dinamakan oleh modul, maka NPM v7 akan membuang ralat.
  • Menambah --legacy-peer-deps mengabaikan keperluan baharu ini, dengan risiko memperkenalkan perubahan pecah.

--legacy-peer-deps memulihkan gelagat pemasangan pergantungan rakan sebaya daripada NPM v4 hingga v6

Salah satu cara memikirkan bendera ini ialah ia tidak berfungsi sesuatu yang baru; sebaliknya ia memberitahu NPM untuk tidak melakukan sesuatu yang baharu, memandangkan NPM v7 kini memasang kebergantungan rakan sebaya secara lalai.

Dalam banyak kes, ini membawa kepada konflik versi, yang akan memecahkan proses pemasangan.

Bendera --legacy-peer-deps telah diperkenalkan dengan v7 sebagai cara untuk memintas pemasangan automatik pergantungan rakan sebaya; ia memberitahu NPM untuk mengabaikan peer deps dan teruskan dengan pemasangan juga. Beginilah keadaan dahulu dengan NPM v4 hingga v6.

Dependencies vs peerDependencies

Jika anda tidak jelas tentang perbezaan antara deps biasa dan peer deps, berikut ialah sedikit konteks:

  • Pergantungan: Perpustakaan atau modul yang Modul NPM perlu untuk berfungsi dalam pengeluaran.
  • Pergantungan rakan sebaya: Kebergantungan rakan sebaya ialah versi atau set versi khusus pustaka perisian pihak ketiga yang direka bentuk untuk digunakan oleh modul .

Isu ini sebahagiannya didorong oleh React v17

Disebabkan oleh sejumlah besar modul yang belum menambah React v17 secara khusus (atau lebih baru-baru ini, React 18) sebagai pergantungan rakan sebaya, kini menjadi perkara biasa untuk menghadapi ralat pepohon pergantungan yang tidak dapat diselesaikan apabila menjalankan pemasangan npm dalam aplikasi v17 React.

Ralat ini akan berlaku apabila modul (atau mana-mana kebergantungan sendiri) menyenaraikan versi utama React sebelumnya sebagai kebergantungan rakan sebaya tanpa menyertakan React secara khusus v17 juga.

Cara menyemak kebergantungan rakan sebaya untuk mana-mana modul tertentu

NPM sendiri tidak menyenaraikan deps rakan sebaya pada halaman modul tertentu. Walau bagaimanapun, terdapat penyelesaian mudah untuk menyemak deps rakan sebaya, sama ada sebelum atau selepas pemasangan. Jalankan sahaja:

npm info name-of-module peerDependencies
Salin selepas log masuk

Arahan ini akan mengembalikan nama setiap pergantungan rakan sebaya bersama-sama dengan semua versi yang serasi.

Atas ialah kandungan terperinci Apakah yang dilakukan `npm install --legacy-peer-deps` dan bilakah ia disyorkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan