Hoe installeer ik npm peer-afhankelijkheden automatisch?

Bijvoorbeeld als ik Angular2 installeer:

npm install --save angular2
[email protected] /Users/doug/Projects/dougludlow/temp
├── [email protected] 
├── UNMET PEER DEPENDENCY es6-promise@^3.0.2
├── UNMET PEER DEPENDENCY es6-shim@^0.33.3
├── UNMET PEER DEPENDENCY [email protected]
├── UNMET PEER DEPENDENCY [email protected]
└── UNMET PEER DEPENDENCY [email protected]
npm WARN [email protected] requires a peer of es6-promise@^3.0.2 but none was installed.
npm WARN [email protected] requires a peer of es6-shim@^0.33.3 but none was installed.
npm WARN [email protected] requires a peer of [email protected] but none was installed.
npm WARN [email protected] requires a peer of [email protected] but none was installed.
npm WARN [email protected] requires a peer of [email protected] but none was installed.

Is er een magische vlag die ik kan doorgeven aan npm die ook de peer-afhankelijkheden zal installeren? Ik heb er geen kunnen vinden… Het is vervelend om de peer-afhankelijkheden handmatig te kopiëren en te plakken en ervoor te zorgen dat ik de juiste versies heb.

Met andere woorden, ik hoef het volgende liever niet te doen:

npm install --save [email protected] es6-promise@^3.0.2 es6-shim@^0.33.3 [email protected] [email protected] [email protected]

Wat is de betere manier?


Antwoord 1, autoriteit 100%

De automatische installatie van peer-afhankelijkheden werd expliciet verwijderd met npm 3, omdat het meer problemen veroorzaakte dan het probeerde op te lossen. Je kunt er hier bijvoorbeeld over lezen:

Dus nee, om de gegeven redenen, kunt u ze niet automatisch installeren met NPM 3 naar boven.

NPM V7

NPM V7 heeft de installatie van de automatische peerdepencies opnieuw ingevoerd.
Ze hadden enkele wijzigingen aangebracht om oude problemen op te lossen als versie-compatibiliteit in meerdere personen ten laste.
U kunt de discussie hier en de aankondiging hier

Nu in V7, zoals in versies vóór V3, hoeft u alleen een npm ite doen en alle peerdependingen moeten automatisch worden geïnstalleerd.


Antwoord 2, Autoriteit 19%

Ik heb het opgelost door het herschrijven van package.jsonmet de exacte waarden waarschuwingen waren ongeveer.

Waarschuwingen bij het uitvoeren van npm:

npm WARN [email protected] requires a peer of es6-shim@^0.33.3 but none was installed.
npm WARN [email protected] requires a peer of [email protected]

in package.json, schrijf

"es6-shim": "^0.33.3",
"reflect-metadata": "0.1.2",

Vervolgens, verwijderen node_modulesDirectory.

Eindelijk, voert u de onderstaande opdracht uit:

npm install

Antwoord 3, Autoriteit 11%

Cheat code nuttig zijn in dit scenario en enkele anderen …

├── UNMET PEER DEPENDENCY @angular/[email protected]
├── UNMET PEER DEPENDENCY @angular/[email protected]
├── UNMET PEER DEPENDENCY @angular/[email protected]
├── UNMET PEER DEPENDENCY @angular/[email protected]
├── UNMET PEER DEPENDENCY @angular/[email protected]
├── UNMET PEER DEPENDENCY @angular/[email protected]
├── UNMET PEER DEPENDENCY @angular/[email protected]
├── UNMET PEER DEPENDENCY @angular/[email protected] >
  1. copy & amp; plakken van uw fout in uw code-editor.
  2. Selecteer ongewenste een deel met je cursor. In dit geval ├── UNMET PEER DEPENDENCY
  3. Druk op command + d een paar keer.
  4. Druk op verwijderen tweemaal . (Druk op de spatiebalk als je per ongeluk gemarkeerd ├── UNMET PEER DEPENDENCY)
  5. Druk een keer. Voeg npm install
  6. Druk een keer. Voeg --save
  7. Kopieer uw spullen terug in de CLI en run
npm install @angular/[email protected] @angular/[email protected] @angular/[email protected] @angular/[email protected] @angular/[email protected] @angular/[email protected] @angular/[email protected] @angular/[email protected] --save

Antwoord 4, Autoriteit 5%

Ik ervoer deze fouten toen ik het ontwikkelen van een NPM pakket dat peerDependenciesgehad. Ik moest ervoor te zorgen dat elke peerDependencieswerden ook genoemd als devDependencies. Het project zou niet automatisch gebruik maken van de wereldwijd geïnstalleerde pakketten.


Antwoord 5, Autoriteit 5%

Het project npm-install-peerszal peers detecteren en installeren.

Vanaf v1.0.1ondersteunt het niet automatisch terugschrijven naar het package.json, wat in wezen onze behoefte hier zou oplossen.

Voeg uw ondersteuning toe om tijdens de vlucht uit te geven: https://github. com/spatie/npm-install-peers/issues/4


Antwoord 6

Installeer garen en voer dan uit:

yarn global add install-peerdeps

Antwoord 7

Voer dit uit: npm install-test

Other episodes