TL;DR:
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.
Jika anda tidak jelas tentang perbezaan antara deps biasa dan peer deps, berikut ialah sedikit konteks:
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.
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
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!