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