Saya menggunakan Windows 10, dengan Node 5.6.0 dan npm 3.6.0. Saya mencoba menginstal angular-material dan mdi ke folder kerja saya. NPM menginstal kesalahan -bahan mdi sudut- dengan:
+-- angular@1.5.0
+-- UNMET PEER DEPENDENCY angular-animate@^1.5.0
+-- UNMET PEER DEPENDENCY angular-aria@^1.5.0
+-- angular-material@1.0.6
+-- UNMET PEER DEPENDENCY angular-messages@^1.5.0 `-- mdi@1.4.57
npm WARN enoent ENOENT: no such file or directory, open
'C:\Users\xxxxx\Desktop\ngClassifieds\package.json'
npm WARN angular-material@1.0.6 requires a peer of
angular-animate@^1.5.0 but none was installed.
npm WARN angular-material@1.0.6 requires a peer of angular-aria@^1.5.0
but none was installed.
npm WARN angular-material@1.0.6 requires a peer of
angular-messages@^1.5.0 but none was installed.
Bagaimana cara mengatasi ini agar AngularJS Material dan MDI diinstal?
Jawaban:
npm tidak lagi menginstal dependensi peer sehingga Anda perlu menginstalnya secara manual, lakukan saja
npm install
pada deps yang diperlukan, dan kemudian coba instal yang utama lagi.Balas komentar:
itu benar dalam pesan itu, ia mengatakan deps mana yang Anda lewatkan
Jadi kamu perlu
npm install angular angular-animate angular-aria angular-material angular-messages mdi
sumber
package.json
?--save
sakelar npm akan memperbarui paket Anda. json untuk Anda (atau--save-dev
jika paket tersebut merupakan ketergantungan pengembangan)UNMET PEER DEPENDENCY
kesalahan dilemparkan ketika dependensi dari satu atau lebih modul yang ditentukan dalampackage.json
file tidak terpenuhi. Periksa peringatan dengan hati-hati dan perbaruipackage.json
file dengan versi dependensi yang benar.Lalu lari
Ini akan menginstal semua dependensi yang diperlukan dengan benar.
sumber
Dalam kasus saya semua dependensi sudah ada di sana. Harap perbarui NPM dalam kasus itu karena mungkin macet. Itu memecahkan masalah saya.
sumber
UNMET PEER DEPENDENCY typescript
saat mencoba menginstaltslint
. setelah memperbarui npm, harus menginstal skrip terlebih dahulu dan kemudian instal tslint.npm-install-peer bekerja untuk saya.
sumber
Salah satu penyebab kesalahan ini yang paling mungkin adalah Anda telah mendefinisikan versi yang lebih lama di package.json Anda. Untuk mengatasi masalah ini, ubah versi di package.json agar sesuai dengan npm yang dikeluhkan.
Setelah selesai, jalankan npm install dan voila !!.
sumber
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.
Ini berarti Anda menginstal versi 4.2.0 packageA, tetapi [email protected] 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.
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.
sumber
Ok jadi saya berjuang untuk waktu yang lama mencoba mencari tahu ini. Ini adalah opsi nuklir , karena ketika Anda telah kehabisan semua cara lain ..
Setelah selesai, dan masih berfungsi, impor kode Anda yang sebenarnya ke proyek baru ini. Perbaiki kesalahan kompilasi apa pun yang disebabkan oleh penyebab sudut yang lebih baru.
Thats what do it for me .. 1 jam pengerjaan ulang vs 6 jam mencoba mencari tahu apa yang salah .. berharap aku melakukannya dengan cara ini untuk memulai ..
sumber
Jawaban yang diberikan tidak akan selalu berhasil. Jika itu tidak memperbaiki masalah Anda. Pastikan Anda juga menggunakan simbol yang benar di
package.json
. Ini sangat penting untuk memperbaiki sakit kepala itu. Sebagai contoh:Jadi naskah saya harus antara 2.4.2 dan 2.6 kan?
Jadi saya mengubah perpustakaan naskah saya dari menggunakan
"typescript": "^2.7"
ke menggunakan"typescript": "^2.5"
. Sepertinya benar?Salah.
The
^
berarti bahwa Anda baik-baik saja dengan NPM menggunakan"typescript": "2.5"
atau"2.6"
atau"2.7"
dll ...Jika Anda ingin mempelajari apa
^
dan~
itu berarti lihat: Apa perbedaan antara tilde (~) dan sisipan (^) di package.json?Anda juga harus memastikan bahwa paket itu ada. Mungkin tidak ada
"typescript": "2.5.9"
nomor paket yang dicari. Agar benar-benar aman cukup hapus~
atau^
jika Anda tidak ingin membaca apa yang mereka maksud.sumber
library-one
) menggunakan misalnya rekanpackage@<2.6
dan yang lainnya (library-two
) rekanpackage@>2.7
? Lalu apakah saya harus berurusan dengan dua versipackage
dalam basis kode saya? Bagaimana saya tahu bahwa ketika saya menggunakanlibrary-one
saya harus menggunakannya dengan[email protected]
itu sementara ketika saya menggunakanlibrary-two
saya harus menggunakannya dengan[email protected]
?Hari ini tersedia Angular 2 rc.7 , dan saya memiliki masalah yang sama dengan
[email protected]
UNMET PEER DEPENDENCY.Jika Anda, seperti saya, hanya diganti
@angular/...rc.6
untuk@angular/...rc.7
- itu tidak cukup. Karena, misalnya,@angular/router
tidak memilikirc.6
versi.Dalam hal ini, tinjau package.json lebih baik di Mulai cepat
sumber
Anda dapat menyelesaikannya dengan menginstal dependensi UNMET secara global.
contoh: npm install -g @ angular / common @ 4.4.6
instal satu per satu. ini bekerja untuk saya.
sumber