Misalnya, ketika saya menginstal Angular2:
npm install --save angular2
temp@1.0.0 /Users/doug/Projects/dougludlow/temp
├── angular2@2.0.0-beta.3
├── UNMET PEER DEPENDENCY es6-promise@^3.0.2
├── UNMET PEER DEPENDENCY es6-shim@^0.33.3
├── UNMET PEER DEPENDENCY reflect-metadata@0.1.2
├── UNMET PEER DEPENDENCY rxjs@5.0.0-beta.0
└── UNMET PEER DEPENDENCY zone.js@0.5.11
npm WARN angular2@2.0.0-beta.3 requires a peer of es6-promise@^3.0.2 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of es6-shim@^0.33.3 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of reflect-metadata@0.1.2 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of rxjs@5.0.0-beta.0 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of zone.js@0.5.11 but none was installed.
Apakah ada flag ajaib yang bisa saya berikan ke npm yang akan menginstal dependensi rekan juga? Saya belum dapat menemukan satu ... Sangat membosankan untuk secara manual menyalin dan menempel dependensi rekan dan memastikan saya memiliki versi yang benar.
Dengan kata lain, saya lebih suka tidak harus melakukan:
npm install --save angular2@2.0.0-beta.3 es6-promise@^3.0.2 es6-shim@^0.33.3 reflect-metadata@0.1.2 rxjs@5.0.0-beta.0 zone.js@0.5.11
Apa cara yang lebih baik?
[email protected]
membutuhkanes6-promise@^3.0.2
). Namun, saya ingin tahu apakah ada perintah / bendera yang secara otomatis menginstal dependensi rekan.npm -v
=>3.5.3
Jawaban:
Instalasi otomatis dependensi rekan secara eksplisit dihapus dengan npm 3, karena menyebabkan lebih banyak masalah daripada mencoba memecahkannya. Anda dapat membacanya di sini misalnya:
Jadi tidak, untuk alasan yang diberikan, Anda tidak dapat menginstalnya secara otomatis dengan npm 3 ke atas.
sumber
extraneous
paketSaya menyelesaikannya dengan menulis ulang package.json dengan nilai peringatan yang tepat adalah tentang:
package.json: "es6-shim": "^ 0.33.3",
package.json: "reflect-metadata": "0.1.2",
sumber
npm cache clean
,npm install
mungkin lebih baik daripada menghapus node_modules? Saya selalu menahan diri dari menghapus node_modules, saya ingin mencari tahu apa masalahnya daripada meniup direktori.npm install --cache /tmp/empty-cache
untuk menggunakan cache sementara alih-alih nuking yang sebenarnya. npm ERR! npm ERR! Jika Anda yakin ingin menghapus seluruh cache, jalankan kembali perintah ini dengan --force.Kode cheat bermanfaat dalam skenario ini dan beberapa lainnya ...
├── UNMET DEPENDENCY DEPENDENCY @ angular / common @ 4.0.2
├── UNMET PEP DEPENDENCY @ angular / compiler @ 4.0.2
├── UNMET PEER DEPENDENCY @ angular / compiler-cli @ 4.0.2
├── UNMET DEPENDENCY @ER sudut / inti @ 4.0.2
├── UNMET DEPENDENCY DEPENDENCY @ angular / forms @ 4.0.2
├── UNMET PEAN DEPENDENSI @ angular / http @ 4.0.2
├── UNMET PEER DEPENDENCY @ angular / platform-browser @ 4.0.2
├── UNMET PEP DEPENDENCY @ angular / platform-browser-dynamic @ 4.0.2>
npm instal @ sudut / umum @ 4.0.2 @ sudut / kompiler @ 4.0.2 @ sudut / kompiler-cli @ 4.0.2 @ sudut / inti @ 4.0.2 @ sudut / bentuk @ 4.0.2 @ sudut / http @ 4.0 .2 @ sudut / platform-browser @ 4.0.2 @ sudut / platform-browser-dinamis @ 4.0.2 - simpan
sumber
--save
ini jelas tidak lagi diperlukan pada npm 5.0.0: stackoverflow.com/a/19578808/12484Proyek
npm-install-peers
akan mendeteksi rekan dan menginstalnya.Sampai
v1.0.1
saat ini tidak mendukung penulisan kembali kepackage.json
otomatis, yang pada dasarnya akan menyelesaikan kebutuhan kita di sini.Silakan tambahkan dukungan Anda untuk masalah dalam penerbangan: https://github.com/spatie/npm-install-peers/issues/4
sumber
This package doesn't seem to have any peerDependencies
npm-install-peers
akan menginstalpeerDependencies
terdaftar dipackage.json
. Ini tidak akan menginstalpeerDependencies
dependensi sepertiangular2
.npm-install-peers
hanya dimaksudkan untuk menginstal yang"peerDependencies"
terdaftar di package.json proyek Anda. Anda mencoba menginstal yang"peerDependencies"
terdaftar di masing-masingnode_modules/<package>/package.json
file Anda , bukan dependensi rekan langsung Anda.Saya mengalami kesalahan ini ketika saya mengembangkan paket npm yang memiliki
peerDependencies
. Saya harus memastikan bahwa adapeerDependencies
yang terdaftardevDependencies
. Proyek tidak akan secara otomatis menggunakan paket yang diinstal secara global.sumber
Pasang benang kemudian jalankan
benang global add install-peerdeps
sumber
Jalankan ini:
npm install-test
sumber