'Fs: Yerel modül kaynaklarını yeniden değerlendirme desteklenmiyor' nasıl düzeltilir - graceful-fs


162

Son zamanlarda Düğüm v.6'ya geçtim ve normal yapıların çalışmasıyla daha fazla sorun yaratmaya başladı grunt / gulp / webpack

Örneğin:

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

gulp ve diğer tüm eklentiler ve modüller rm -rf node_modules/ node_modules klasörüne kurulur (ve hatta yeniden yüklenir ).

Bu hataların çoğunda

(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.

42 ile rasgele sayı

Gönderdiğim bu sayıdaki gibi - açısal2-tohum deposunda https://github.com/mgechev/angular2-seed/issues/902

Yapmaya çalıştığım şey, n ( https://www.npmjs.com/package/n ) aracılığıyla Düğüm v.5'e düşürmektir - işe yaradı. Ardından tüm node_modulesklasörleri kaldırın , ardından

npm info graceful-fs -v
3.3.6

tamam, yeni sürüme geçirmenize veya kaldırmanıza ve yüklemenize izin verin:

npm i graceful-fs@latest
npm i graceful-fs@4.1.4
sudo npm i graceful-fs@4.1.4 -g

tüm sonuçlar

npm info graceful-fs -v
3.3.6

Bu yüzden şimdi zarif-fs 3.3.6 ile sıkışmış para birimleri veya hatta bazı modül bağımlılıklarında daha kötü

$ angular2-seed
$ npm install

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

Buradaki strateji ne olabilir:

  • Graceful-fs <4.0.0 içeren tüm deps el ile yama?
  • Belirli paket sürümünü kullanmak için bazı genel anahtarlar var mı?
  • Her şey yeniden kurulsun mu?

Gulp ve bazı modüllerimle aynı sorunu yaşıyorum. Modülleri en son zarif-f'leri kullanacak şekilde yükselterek modülleri düzelttim, ancak henüz yükseltilmemiş diğer modülleri düzeltmek için bir çözüm olduğundan emin değilim.
— Jeremy Chone

Görünüşe göre bu Gulp 3.x'te düzeltilmeyecek ve Gulp 4.x'e
— dtothefp

Yanıtlar:


170

Bu sorunu yaşadım ve güncelleyerek bu sorunu çözebildim npm

sudo npm update -g npm

Güncellemeden önce sonucu npm info graceful-fs | grep 'version:'şuydu:

version: '3.3.12'

Güncellemeden sonra sonuç:

version: '3.9.3'

Teşekkürler @Jorge. Bu, sorunun çözülmesine yardımcı oldu. Uygulama dizinime npm yüklemesini her çalıştırdığımda hala appful@0.1.x / path / of / app ile graceful-fs@4.1.4 vurgulanıyorum. ama şimdilik bununla yaşıyorum.
— Geo

Merhaba @Geo, burada aynı, cevaba analog-nico tarafından bakın, aynı paketin farklı sürümleri var, çünkü diğer araçlar kesinlikle bu sürümlere bağlı. Uyarıdan kurtulmak için hepsini yükseltmeliyiz veya değiştirmeleri aramalıyız.
— Asimov

5
Bu benim için işe yaramadı, koşmak zorunda kaldımnvm use v6.2.1
— Nicwenda

46
Not edin npm info graceful-fs -vNPM sürümünü döndürür (Çalışıyorsa aynıdır npm -vzarif-fs ve NOT). Zarif-fs sürümünü edinmek için benzer bir şey kullanın npm info graceful-fs | grep version:.
— nstCactus

6
@Asimov Bu da benim için çalıştı. Ayrıca, son zamanlarda NodeJS'yi yeniden yüklediyseniz (Düğüm'ü web sitesindeki paketten yükledim ve sonra homebrew'dan biriyle değiştirdim) rm -rf node_modules && npm installproje ana klasöründe çalıştırın .
— Dylanthepiguy

73

Yazın npm list graceful-fsve hangi graceful-fs sürümlerinin yüklü olduğunu göreceksiniz.

Benim durumumda:

npm list graceful-fs

@request/promise-core@0.0.1 /projects/request/promise-core
+-- gulp@3.9.1
| `-- vinyl-fs@0.3.14
|   +-- glob-watcher@0.0.6
|   | `-- gaze@0.5.2
|   |   `-- globule@0.1.0
|   |     `-- glob@3.1.21
|   |       `-- graceful-fs@1.2.3        <==== !!!
|   `-- graceful-fs@3.0.8 
`-- publish-please@2.1.3
  +-- nsp@2.4.0
  | `-- nodesecurity-npm-utils@4.0.1
  |   `-- silent-npm-registry-client@2.0.0
  |     `-- npm-registry-client@7.1.0
  |       `-- graceful-fs@4.1.3 
  `-- read-pkg@1.1.0
    `-- load-json-file@1.1.0
      `-- graceful-fs@4.1.4

gulpDerinlerde gördüğünüz gibi çok eski bir versiyona bağlı. Ne yazık ki, bunu kullanarak kendimi güncelleyemiyorum npm update graceful-fs. gulpbağımlılıklarını güncellemesi gerekir. Eğer böyle bir vakanız varsa şansınız kalmaz. Ancak, eski bağımlılıkla proje için bir sorun açabilirsiniz - yani gulp.


13
Özel örneğinizde, FYI gulpbunu sürüm 3'te değiştirmeyecek, ancak yalnızca sürüm 4'te değiştirecektir: github.com/gulpjs/gulp/issues/1571
— JBE

2
bu benim için, yutmayı kaldırmak için son itme
— Darko Z

Benim durumumda, pre-v4 graceful-fsmodülü bağımlılığı npmkendisinden (sürüm 3.10.3) üzerinden geliyordu cmd-shim@2.0.2. Küresel graceful-fs bağımlılıkları kullanarak listelenene kadar bunu görmedim npm list -g graceful-fs.
— Rusty Shackleford

Bu çözmemde bana yardımcı oldu. Zarif-fs paketim günceldi, ancak birkaç paket daha eski bir sürüme dayanıyordu.
— skerit

21

Yeniden yükleme gulp ile bu hatayı çözdü

npm uninstall gulp
npm install gulp

Gulp gibi sesler bu sorunu çözdü - daha önce --save-dev ile gulp yüklediysem veya yolum proje klasörümden çalıştıysa hatırlayamıyordum.
— indi

Benim için de sorun çözüldü
— Shady Keshk

Evet, daha eski bir Gulp bağımlılığı problemine benziyor.
— serraosays

1

Node_modules klasör içeriğini silme ve çalıştırma

npm install bower
npm install

benim için sorunu çözdü!


1

Açıklandığı gibi burada , ayrıca komutu deneyebilirsiniz

npm cache clean

Bu benim için düzeltildi, diğer adımlar tam olarak sonuç vermedikten sonra (her şeyi güncellemek dışında).


1

Sadece cordova'nın zarif-fs bağımlılığı ile kendi npm'sini getirdiğine dikkat çekmek için, bu yüzden Cordova'yı kullanırsanız, en son olduğundan emin olun, böylece en son zarif-f'leri de bundan alın.


1

Bunu düzeltmeyi başardım:

  1. tarafından güncelleniyor package.json
  2. node_modules klasörünü silme
  3. yürütme npm install

0

nvm çalıştırıyorsanız, çalıştırmak isteyebilirsiniz nvm use <desired-node-version>Bu düğüm npm ile tutar


0

Veya güncellemeyi deneyin node:

brew upgrade node

Yüklü ise brew(benim durumumda olduğu gibi). sudo npm update -g npmbenim için "aynı" sorunu çözmedi.



0

Cordova projemde, cordova -g'nin kaldırılması ve yüklenmesi benim için sorunu düzeltti.

npm uninstall -g cordova
npm install -g cordova
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.