Perché l’installazione di npm dice che ho delle dipendenze non soddisfatte?

Ho un pacchetto di nodes. Quando npm install dal pacchetto root, installa un sacco di cose, ma poi stampa diversi messaggi di errore che assomigliano a questo:

npm WARN Unmet dependency / Users / seanmackesey / google_drive / code / explore / generator / node_modules / findup-sync / node_modules / glob richiede graceful-fs@’~1.2.0 ‘ma verrà caricato

Devo essere confuso su cosa esattamente npm install fa. Se rileva una dipendenza, non dovrebbe installarlo? In quali condizioni mi dà messaggi di errore come questo, e come posso risolvere le dipendenze?

    Credo che sia perché la risoluzione delle dipendenze è un po ‘rotta, vedi https://github.com/isaacs/npm/issues/1341#issuecomment-20634338

    Di seguito sono la ansible soluzione:

    1. È necessario installare manualmente i moduli di livello superiore, contenenti dipendenze non soddisfatte: npm install findup-sync@0.1.2

    2. Ristrutturazione del pacchetto package.json. Metti tutti i moduli di alto livello (serve come dipendenza per i moduli di altri) in basso.

    3. Rieseguire il comando ‘npm install’.

    Il problema potrebbe essere causato dall’incapacità di npm di scaricare tutto il pacchetto a causa di un timeout o qualcos’altro.

    Nota: è anche ansible installare manualmente i pacchetti falliti utilizzando npm install findup-sync@0.1.2.

    Prima di eseguire ‘npm install’, effettuare le seguenti operazioni può aiutare:

    • rimuovere node_modules usando rm -rf node_modules /
    • eseguire npm cache clean

    Perché ‘rimuovere node_modules’ a volte è necessario? Quando un modulo nidificato non riesce a installare durante l’installazione di npm, l’installazione successiva di npm non rileverà quelle dipendenze nidificate mancanti.

    In tal caso, a volte è sufficiente rimuovere la dipendenza di primo livello di quei moduli nidificati mancanti e eseguire di nuovo l’installazione di npm. Vedere

    È successo a me quando il WIFI è andato giù durante l’ npm install un npm install . Rimuovendo node_modules e npm install corretto.

    Ho risolto il problema utilizzando queste righe di comando

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

    E ‘fatto!

    L’aggiornamento di NPM alla versione più recente può essere di grande aiuto. La risposta di dule sopra è giusta per dire che la gestione delle dipendenze è un po ‘rotta, ma sembra che questo sia principalmente per le versioni precedenti di npm.

    Il comando npm list ti fornisce una lista di tutti i node_modules installati. Quando ho aggiornato dalla versione 1.4.2 alla versione 2.7.4, molti moduli precedentemente contrassegnati con la WARN unmet dependency sono più stati notati come tali.

    Per aggiornare npm, è necessario digitare npm install -g npm su MacOSX o Linux. Su Windows, ho scoperto che il re-download e il riesecuzione del programma di installazione di nodejs era un modo più efficace per aggiornare npm.

    Le risposte di cui sopra non mi hanno aiutato completamente anche dopo aver node_modules directory node_modules .

    Sotto comando mi ha aiutato finalmente:

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

    Si noti che questo richiama i moduli del nodo su una connessione HTTP non sicura.

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

    Per ogni -- UNMET PEER DEPENDENCY , per es. -- UNMET PEER DEPENDENCY rxjs@5.0.0-rc.2 , installare tale dipendenza con npm install --save rxjs@5.0.0-rc.2 finché non si hanno più UNMET DEPENDENCIES .

    In bocca al lupo.

    Questo l’ha risolto per me:

    1. Correggere i numeri di versione in package.json , in base agli errori;
    2. Rimuovere node_modules ( rm -rf node_modules );
    3. Rieseguire npm install .

    Ripeti questi passaggi finché non ci saranno più errori.

    Qualcosa di simile, aggiungerei un altro passo.

    Notare che su npm versione> 1.4.9, ‘npm install’ installa devDependencies. Prima prova a rimuovere i moduli esistenti e la cache:

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

    Quindi prova:

     npm install --dev npm update --dev 

    Questo almeno risolverà la risoluzione della dipendenza ricorsiva.

    –dev installazione di devDependencies in modo ricorsivo (e la sua esecuzione per sempre ..) come può aiutare a risolvere le differenze di versione?

    Puoi provare a rimuovere la cartella node_moduls, quindi pulire la cache npm e poi eseguire di nuovo ‘npm i’

    Ho avuto un problema simile mentre stavo installando la CLI di React Native. Non ero sicuro di quale /node_modules directory dovessi rimuovere dopo aver letto le risposte qui. Alla fine ho appena corso

    npm update -g

    ed è stato in grado di installare il pacchetto dopo quello.

    Stavo provando a lavorare su un sistema di distribuzione automatizzato che esegue npm install , quindi molte di queste soluzioni non funzionerebbero per me in una fasion automatizzata. Non ero in grado di eliminare / ricreare node_modules/ né avrei potuto modificare facilmente le versioni di Node.js.

    Così ho finito con l’esecuzione di npm shrinkwrap – aggiungendo il file npm-shrinkwrap.json al mio pacchetto di distribuzione e eseguendo le installazioni da lì. Questo ha risolto il problema per me; con il file shrinkwrap come “helper”, npm sembrava essere in grado di trovare i pacchetti giusti e farli installare per me. (Shrinkwrap ha anche altre caratteristiche, ma questo era quello di cui avevo bisogno in questo caso particolare).

    Ho riscontrato questo problema mentre stavo installando i pacchetti di risposta e questo ha funzionato per me: npm install --save

    Nel mio caso, l’aggiornamento di npm l’ha risolto.

     sudo npm install -g npm 

    npm list e ho installato tutti i pacchetti elencati come DEPENDENCY UNMET

    Per esempio:

    ├── UNMET DEPENDENCY css-loader@^0.23.1
    npm install css-loader@^0.23.1

    Presta attenzione alla tua versione angular, se lavori sotto angular 2.xx, quindi forse hai bisogno di aggiornare ad angular 4.xx

    Alcune dipendenze necessitano dell’angular 4

    Ecco un tutorial su come installare angular 4 o aggiornare il tuo progetto.

    Aggiornamento alla 4.0.0

    L’aggiornamento a 4 è semplice come l’aggiornamento delle dipendenze angolari all’ultima versione e il doppio controllo per le animazioni. Questo funzionerà per la maggior parte dei casi d’uso.

    Su 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 

    Su 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 

    Quindi esegui qualunque comando ng serve o npm start che usi normalmente, e tutto dovrebbe funzionare.

    Se ti affidi ad Animations, importa il nuovo BrowserAnimationsModule da @angular/platform-browser/animations nel tuo NgModule root. Senza questo, il tuo codice verrà compilato ed eseguito, ma le animazioni genereranno un errore. Le importazioni da @angular/core sono state deprecate, utilizzare le importazioni dal nuovo pacchetto

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