1. ホーム
  2. node.js

[解決済み] fs: ネイティブモジュールのソースを再評価することはサポートされていません」を修正する方法 - graceful-fs

2022-04-25 20:17:34

質問

最近、Node v.6に切り替えたのですが、通常のビルドgrunt/gulp/webpackを実行する際に、ますます多くの問題が発生するようになりました。

例えば

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

gulp と他のすべてのプラグインとモジュールがインストールされている間(さらに rm -rf node_modules ) を /node_modules フォルダにコピーします。

これらのエラーの多くは、次のような行があります。

(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を任意の数字として

私が投稿したissueのように - angular2-seedのレポにあります。 https://github.com/mgechev/angular2-seed/issues/902

私が試したのは、Node v.5へのダウングレードをn経由で行うことです( https://www.npmjs.com/package/n ) - うまくいきました。その後、すべての node_modules フォルダを作成し、次のようにします。

npm info graceful-fs -v
3.3.6

OK、アップグレードまたは削除して新しいものをインストールしましょう。

npm i graceful-fs@latest
npm i [email protected]
sudo npm i [email protected] -g

ですべての結果を表示します。

npm info graceful-fs -v
3.3.6

というわけで、現在、私は graceful-fs 3.3.6 のようなモジュールの依存関係や、さらに悪いことに

$ 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 graceful-fs@^4.0.0 
as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.

ここで考えられる戦略とは。

  • graceful-fs < 4.0.0 を含むすべての deps に手動でパッチを適用しますか?
  • 特定のパッケージのバージョンを使用するためのグローバルスイッチでもあるのでしょうか?
  • すべて再インストールしますか?

解決方法は?

私はこの問題に直面し、更新することによってこれを修正することができました。 npm

sudo npm update -g npm

更新前の結果は npm info graceful-fs | grep 'version:' であった。

version: '3.3.12'

更新後の結果は

version: '3.9.3'