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:
- https://blog.npmjs.org/post/110924823920/npm- wekelijks-5
- https://github.com/npm/npm/releases/tag/ v3.0.0
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 i
te doen en alle peerdependingen moeten automatisch worden geïnstalleerd.
Antwoord 2, Autoriteit 19%
Ik heb het opgelost door het herschrijven van package.json
met 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_modules
Directory.
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] >
- copy & amp; plakken van uw fout in uw code-editor.
- Selecteer ongewenste een deel met je cursor. In dit geval
├── UNMET PEER DEPENDENCY
- Druk op command + d een paar keer.
- Druk op verwijderen tweemaal . (Druk op de spatiebalk als je per ongeluk gemarkeerd
├── UNMET PEER DEPENDENCY
) - Druk een keer. Voeg
npm install
- Druk een keer. Voeg
--save
- 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 peerDependencies
gehad. Ik moest ervoor te zorgen dat elke peerDependencies
werden 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-peers
zal peers detecteren en installeren.
Vanaf v1.0.1
ondersteunt 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