Jawaban ini tidak berlaku untuk semua kasus, tetapi jika Anda tidak dapat menyelesaikan kesalahan hanya dengan mengetik npm install
, langkah ini mungkin membantu.
Katakanlah Anda mendapat kesalahan ini.
UNMET PEER DEPENDENCY packageA@4.2.0
npm WARN packageB@3.3.0 requires a peer of packageA@^3.1.0 but none was installed.
Ini berarti Anda menginstal versi 4.2.0 packageA, tetapi packageB@3.3.0 membutuhkan versi 3.xx dari pakageA. ( penjelasan ^ )
Jadi Anda dapat mengatasi kesalahan ini dengan menurunkan versi packageA ke 3.xx, tetapi biasanya Anda tidak ingin menurunkan versi paket.
Kabar baiknya adalah bahwa dalam beberapa kasus, packageB tidak mengikuti paketA dan pengelola paketB berusaha keras untuk meningkatkan ketergantungan peer dari packageA ke 4.xx.
Dalam hal ini, Anda dapat memeriksa apakah ada versi yang lebih tinggi dari paketB yang membutuhkan versi 4.2.0 packageA di npm atau github.
Misalnya, Buka halaman rilis
Seringkali Anda dapat menemukan pemecahan perubahan tentang ketergantungan seperti ini.
packageB v4.0.0-beta.0
BREAKING CHANGE
package: requires packageA >= v4.0.0
Jika Anda tidak menemukan apa pun di halaman rilis, buka halaman masalah dan cari masalah dengan kata kunci seperti peer
. Anda dapat menemukan informasi yang bermanfaat.
Pada titik ini, Anda memiliki dua opsi.
1) Tingkatkan ke versi yang Anda inginkan
2) Tinggalkan kesalahan untuk saat ini, tunggu hingga versi stabil dirilis.
Jika Anda memilih option1:
Dalam banyak kasus, versi tidak memiliki latest
tag sehingga tidak stabil. Jadi, Anda harus memeriksa apa yang telah berubah dalam pembaruan ini dan memastikan tidak ada yang rusak.
Jika Anda memilih option2:
Jika pemutakhiran pakageA dari versi 3 ke 4 adalah sepele, atau jika pengelola pakageB belum menguji versi 4 dari pakageA tetapi mengatakan itu seharusnya tidak ada masalah, Anda dapat mempertimbangkan untuk meninggalkan kesalahan.
Dalam kedua kasus, yang terbaik adalah menguji secara menyeluruh jika tidak merusak apa pun.
Terakhir, jika Anda ingin tahu mengapa Anda harus melakukan hal seperti itu secara manual, tautan ini menjelaskan dengan baik.