2016-05-20 22 views
158

Recentemente ho fatto un passaggio al Nodo v.6, e ho iniziato a creare sempre più problemi con l'esecuzione di normali build grunt/sorso/webpackCome risolvere 'fs: rivalutazione delle origini dei moduli nativi non è supportato' - graceful-fs

Ad esempio:

$ gulp 
[14:02:20] Local gulp not found in ~/_Other/angular-2-ts/angular2-seed 
[14:02:20] Try running: npm install gulp 

mentre sorso e tutti gli altri moduli e plugin sono installati (e anche reinstallati tramite npm -rf node_modules) in/node_modules cartella.

La maggior parte di questi errori hanno come linea

(node:42) fs: re-evaluating native module sources is not supported. 
If you are using the graceful-fs module, 
please update it to a more recent version. 

con il 42 come numero arbitrario

Come in tale questione ho presentato - in pronti contro termine angular2-seme https://github.com/mgechev/angular2-seed/issues/902

quello che ho ho provato a fare il downgrade a Node v.5 via n (https://www.npmjs.com/package/n) - ha funzionato. Quindi rimuovere tutti node_modules cartelle, quindi fare

npm info graceful-fs -v 
3.3.6 

ok, consente di aggiornare o rimuovere ed installare nuove:

npm i [email protected] 
npm i [email protected] 
sudo npm i [email protected] -g 

tutti i risultati in

npm info graceful-fs -v 
3.3.6 

Così ora sto currenlty bloccato con graceful-fs 3.3.6 o anche peggio in alcune dipendenze di moduli, come

$ angular2-seed 
$ npm install 

//other lines.. 
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before 
will fail on node releases >= v7.0. Please update to [email protected]^4.0.0 
as soon as possible. Use 'npm ls graceful-fs' to find it in the tree. 

Quale potrebbe essere la strategia qui:

  • manualmente rattoppare tutte le dipendenze che contengono grazioso-fs < 4.0.0?
  • C'è qualche opzione globale per utilizzare la versione del pacchetto specifica?
  • Reinstallare tutto?
+0

Sto avendo lo stesso problema con Gulp e alcuni dei miei moduli . Ho risolto i miei moduli aggiornando i moduli per utilizzare gli ultimi graceful-fs, ma non sono sicuro che esista una soluzione per correggere altri moduli che non sono ancora stati aggiornati. –

+0

Sembra che questo non verrà risolto in Gulp 3.x e sarà necessario eseguire l'aggiornamento a Gulp 4.x https://github.com/gulpjs/gulp/issues/1571 – dtothefp

risposta

167

Ho avuto questo problema e sono stato in grado di risolvere questo problema aggiornando npm

sudo npm update -g npm 

Prima dell'aggiornamento, il risultato di npm info graceful-fs | grep 'version:' era:

version: '3.3.12' 

Dopo l'aggiornamento il risultato è :

version: '3.9.3' 
+0

Grazie a @Jorge. Questo ha aiutato a risolvere il problema. Ricevo ancora [email protected]/path/of/app con [email protected] evidenziato ogni volta che eseguo l'installazione di npm nella directory dell'app. ma io vivo con quello per ora. – Geo

+0

Ciao @Geo, lo stesso qui, guarda la risposta di analogico-nico, abbiamo diverse versioni dello stesso pacchetto perché altri strumenti dipendono strettamente da quelle versioni. Per eliminare l'avviso, è necessario aggiornarli tutti o cercare sostituzioni. – Asimov

+5

Questo non ha funzionato per me, ho dovuto usare 'nvm use v6.2.1' – Nicwenda

72

Digita npm list graceful-fs e vedrai quali versioni di graceful-fs sono attualmente installate.

Nel mio caso ho ottenuto:

npm list graceful-fs 

@request/[email protected] /projects/request/promise-core 
+-- [email protected] 
| `-- [email protected] 
| +-- [email protected] 
| | `-- [email protected] 
| | `-- [email protected] 
| |  `-- [email protected] 
| |  `-- [email protected]  <==== !!! 
| `-- [email protected] 
`-- [email protected] 
    +-- [email protected] 
    | `-- [email protected] 
    | `-- [email protected] 
    |  `-- [email protected] 
    |  `-- [email protected] 
    `-- [email protected] 
    `-- [email protected] 
     `-- [email protected] 

Come si può vedere gulp in fondo dipende da una versione molto vecchia. Purtroppo, non posso aggiornarlo utilizzando npm update graceful-fs.gulp avrebbe bisogno di aggiornare le loro dipendenze. Quindi, se hai un caso come questo, sei sfortunato. Ma puoi aprire un problema per il progetto con la vecchia dipendenza, ad esempio gulp.

+13

FYI, nel tuo esempio specifico, 'gulp' non cambiarlo nella versione 3 ma solo nella versione 4: https://github.com/gulpjs/gulp/issues/1571 – JBE

+1

upgrade a gulp 4 localmente e problema risolto – ncubica

+0

upgrade a 4 alpha non risolto il mio problema – HappyCoder888

0

se si esegue nvm si potrebbe desiderare di eseguire nvm use <desired-node-version> In questo modo consistente sui nodi con NPM

21

risolto questo bug con reinstallazione gulp

npm uninstall gulp 
npm install gulp 
+0

Suoni come gulp hanno risolto questo problema - non ricordo se ho installato gulp con --save-dev o meno prima, ma il modo in cui ha funzionato dalla mia cartella del progetto. – landed

+0

Risolto il problema anche per me –

+0

Sì, sembra un vecchio problema di dipendenza da Gulp. – staypuftman

1

Eliminazione node_modules contenuto cartella e funzionante

npm install bower 
npm install 

risolto il problema per me!

0

Oppure provate ad aggiornare node:

brew upgrade node 

Se è installato con brew (come nel mio caso). sudo npm update -g npm non ha risolto il "medesimo" problema per me.

1

Come descritto here, si può anche tentare il comando

npm cache clean 

quello fissato per me, dopo che gli altri passaggi non erano pienamente i risultati (diversi aggiornare tutto) ceduto.

1

Solo per sottolineare che Cordova porta il proprio npm con la dipendenza da graceful fs, quindi se usi Cordova assicurati che sia l'ultimo in modo da ottenere anche gli ultimi graceful-fs.

0

Il rapporto dice: manca un file in ... vendor/win32-x64-48/binding.node

ho cercato il file binding.node e lo trovo in ...

https://github.com/sass/node-sass-binaries

Copia il file corretto con il nome binding.node e funziona.

1

sono stato in grado di risolvere il problema da:

  1. aggiornamento da parte package.json
  2. eliminazione della cartella node_modules
  3. esecuzione npm install
Problemi correlati