De ce npm instala spune că am nesatisfăcute dependențe?

Am un nod pachet. Atunci când am rula npm instala din pachetul de rădăcină, se instalează o grămadă de lucruri, dar apoi imprimă mai multe mesaje de eroare care arată așa:

npm AVERTIZEAZĂ nesatisfacuta de dependență /Users/seanmackesey/google_drive/cod/explore/generator/node_modules/findup-sync/node_modules/glob necesită grațios-fs@'~1.2.0' dar va încărca

Nu trebuie să fie confuz cu privire la ceea ce exact npm instala` nu. Dacă se detectează o dependență, ar trebui't-l instala? În ce condiții nu-mi da mesaje de eroare de genul asta, si cum pot rezolva dependențele?

Soluția

Cred că este din cauza dependenței rezoluția este un pic rupt, a se vedea https://github.com/npm/npm/issues/1341#issuecomment-20634338

Sunt următoarele soluții posibile :

  1. Manual nevoie pentru a instala top-nivel de module, conținând nesatisfăcute dependențe: npm instala findup-sync@0.1.2

  2. Re-structura pachetului.json. Loc tot la nivel înalt module (servește ca o dependență de alții module) la partea de jos.

  3. Re-rula npm instala comanda.

Problema ar putea fi cauzata de npm's eșec pentru a descărca toate la pachet din cauza timed-out sau altceva.

Notă: puteți instala, de asemenea, nu a reușit pachete manual precum folosind npm instala findup-sync@0.1.2.

Înainte de a rula npm install, efectuarea pașii de mai jos pot ajuta:

  • elimina node_modules folosind rm-rf node_modules/
  • run npm cache curat

De ce 'eliminarea node_modules' uneori este necesar? Atunci când un imbricate module nu pentru a instala în npm install, ulterioarenpm instala` a câștigat't detecta pe cei care lipsesc imbricate dependențe.

Dacă asta's la caz, uneori se's suficiente pentru a elimina partea de sus-nivelul de dependență a celor lipsă imbricate module și funcționare `npm instala din nou. Vezi

Comentarii (12)

Asta mi s-a întâmplat atunci când WIFI a mers în jos în timpul unei npm install. Eliminarea node_modules și re-rularea npm instala reparat-o.

Comentarii (7)

Am rezolvat problema folosind aceste linii de comanda

  • $ rm-rf node_modules/
  • $ sudo npm update-g npm
  • $ npm instala

L's done!

Comentarii (9)

Modernizarea NPM la cea mai recentă versiune poate ajuta foarte mult cu acest lucru. dule's răspunsul de mai sus este corect să spun că dependența de management este un pic rupt, dar se pare că acest lucru este în principal pentru versiunile mai vechi de npm.

Comanda npm listă vă oferă o listă a tuturor instalatnode_modules. Când am făcut upgrade de la versiunea 1.4.2 la versiunea 2.7.4, mai multe module care au fost anterior marcate cuAVERTIZA nesatisfacuta de dependență` au mai menționat ca atare.

Pentru a actualiza npm, ar trebui să tastați `npm install-g npm pe MacOSX sau Linux. Pe Windows, am constatat că re-descărcare și re-rularea nodejs de instalare a fost un mod mai eficient de a actualiza npm.

Comentarii (1)

Raspunsurile de mai sus nu't ajută-mă pe deplin chiar și după deleteting node_modules director.

Comanda de mai jos m-a ajutat în cele din urmă:

npm config set registry http://registry.npmjs.org/

Rețineți că aceasta trage nod de module peste un nesigură conexiune HTTP.

Src: https://stackoverflow.com/a/13119867/4082503

Comentarii (3)

Pentru fiecare -- NESATISFĂCUTE PEER DEPENDENȚĂ, de ex. -- NESATISFĂCUTE PEER DEPENDENȚĂ rxjs@5.0.0-rc.2, instala această dependență cu npm install-salva rxjs@5.0.0-rc.2 până nu't mai NESATISFĂCUTE DEPENDENȚELE.

Noroc.

Comentarii (3)

Eu conduc `npm listă și instalat toate pachetele enumerate ca NESATISFĂCUTE DEPENDENȚĂ

De exemplu:

Ă── NESATISFĂCUTE DEPENDENȚĂ css-loader@^0.23.1
npm instala css-loader@^0.23.1

Comentarii (0)

Asta a rezolvat-o pentru mine:

  1. Corect numerele de versiune în pachet.json`, potrivit erori;
  2. Elimina node_modules (rm-rf node_modules);
  3. Rulați npm install.

Repetați acești pași până când nu există mai multe erori.

Comentarii (0)

npm instala va instala toate pachetele de la npm-shrinkwrap.json, dar s-ar putea ignora pachetele din pachet.json, dacă au're nu au fost prestabilite în fosta.

Daca're proiectul are o npm-shrinkwrap.json, asigurați-vă că rulați npm shrinkwrap de a se regenera, de fiecare dată când a adăuga/elimina/modifica pachetului.json`.

Comentarii (0)

Ceva în mod similar, aș adăuga un alt pas.

Rețineți că pe npm versiunea > 1.4.9, 'npm instala' nu instalați devDependencies. Încercați mai întâi să scoateți modulele existente și cache:

remove node_modules $ rm -rf node_modules/
run $ npm cache clean

Apoi, încercați:

npm install --dev
npm update --dev

Cel puțin acest lucru va rezolva recursiv dependență de rezoluție.

Comentarii (1)

--dev instalarea devDependencies recursiv (și a alerga pentru totdeauna..) cum poate ajuta pentru a rezolva versiunea diferențe?

Puteți încerca să eliminați node_moduls folder, apoi curățați npm cache și apoi executați 'npm am' din nou

Comentarii (0)

Am avut o problemă similară în timp ce am fost instalarea React Nativ CLI. Am fost't de sigur care /node_modules director trebuia să eliminați după ce a citit răspunsurile aici. În cele din urmă am fugit

npm update-g

și a fost capabil de a instala pachetul, după care.

Comentarii (0)

Am fost încercarea de a lucra pe un sistem automatizat de implementare sistem care ruleaza npm install, astfel încât o mulțime de aceste soluții ar't lucra pentru mine în mod automat fasion. Am fost't într-o poziție pentru a merge șterge/re-crearea node_modules/ nici nu aș putea schimba cu ușurință Node.js versiunile.

Așa că am ajuns funcționare npm shrinkwrap - adăugarea npm-shrinkwrap.json fisierul meu implementare pachet, și execută instalări de acolo. Că a rezolvat problema pentru mine; cu shrinkwrap fișier ca un 'ajutor', npm părea să fie în măsură de a găsi dreptul de pachete și le obține instalat pentru mine. (Shrinkwrap are alte caracteristici, precum și, dar acest lucru a fost ceea ce am nevoie în acest caz particular).

Comentarii (0)

Eu am intampinat aceasta problema cand am instalat reacționa pachete și aceasta a lucrat pentru mine: npm install-save <pachet cauzează această eroare>

Comentarii (0)

În cazul meu, actualizarea npm rezolvat-o.

sudo npm install -g npm
Comentarii (0)

Actualizare la 4.0.0

Actualizarea la 4 este la fel de ușor ca actualizarea Unghiulare dependențe la cea mai recentă versiune, și verifică de două ori dacă vrei animații. Acest lucru va lucra pentru cele mai multe cazuri de utilizare.

Pe Linux/Mac:

npm install @angular/{common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router,animations}@latest typescript@latest --save 

Pe Windows:

npm install @angular/common@latest @angular/compiler@latest @angular/compiler-cli@latest @angular/core@latest @angular/forms@latest @angular/http@latest @angular/platform-browser@latest @angular/platform-browser-dynamic@latest @angular/platform-server@latest @angular/router@latest @angular/animations@latest typescript@latest --save

Apoi rulați orice ng servi sau npm comanda de pornire îl utilizați în mod normal, și totul ar trebui să funcționeze.

Dacă vă bazați pe Animații, import nou BrowserAnimationsModule "de la" @unghiulare/platforma-browser/animatii in rootNgModule. Fără acest lucru, codul va compila și rula, dar animații va declanșa o eroare. Importurile din@unghiulare/core` au depreciat, utilizarea importurile din noul pachet

import { trigger, state, style, transition, animate } from '@angular/animations';.
Comentarii (0)

Aveți grijă de dumneavoastră unghiulare versiune, dacă lucrați sub unghiulare 2.x.x poate ai nevoie să faceți upgrade la unghiulare 4.x.x

Unele dependențe trebuie unghiulare 4

Aici este un tutorial pentru cum să instalați unghiulare 4 sau actualiza de proiect.

Comentarii (0)