Kebergantungan Rakan Sebaya adalah khusus dan versi perpustakaan perisian yang serasi yang modul bertujuan untuk beroperasi bersama. Ini perlu dibezakan daripada kebergantungan biasa, yang penting untuk kefungsian modul itu sendiri.
NPM versi 7 dan kemudiannya telah mengubah tingkah lakunya secara lalai memasang kebergantungan rakan sebaya . Ini boleh membawa kepada konflik dengan kebergantungan rakan sebaya sedia ada atau ketidakupayaan untuk menyelesaikan keserasian versi.
Untuk menangani isu ini, NPM memperkenalkan --legacy-peer -deps bendera. Bendera ini mengarahkan NPM bukan untuk memasang kebergantungan rakan sebaya, memulihkan gelagat NPM versi 4 hingga 6 dengan berkesan.
Menggunakan --legacy-peer-deps adalah dinasihatkan apabila:
Pertimbangkan ralat yang anda hadapi:
npm ERR! Could not resolve dependency: npm ERR! peer react@"^16.8.0" from [email protected] npm ERR! node_modules/react-hook-mousetrap
Ralat ini menunjukkan bahawa react-hook-mousetrap menjangkakan react versi 16.8.0 atau lebih baru, tetapi versi react yang dipasang semasa anda ialah 17.0.1. Dengan menambahkan --legacy-peer-deps, anda boleh mengabaikan keperluan pergantungan rakan sebaya ini dan meneruskan pemasangan, walaupun dengan potensi risiko yang dinyatakan di atas.
The --legacy-peer -deps flag menawarkan cara untuk memintas tingkah laku pemasangan pergantungan rakan sebaya baharu NPM dalam versi 7 dan lebih baharu. Ia boleh menyelesaikan konflik versi tetapi harus digunakan dengan bijak untuk mengelakkan isu yang berpotensi. Memahami implikasi penggunaan bendera ini membolehkan pembangun membuat keputusan termaklum semasa menavigasi cabaran pergantungan rakan sebaya.
Atas ialah kandungan terperinci Bilakah Saya Harus Menggunakan Bendera `--legacy-peer-deps` dalam npm?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!