IT박스

'fs : 기본 모듈 소스 재평가는 지원되지 않습니다'를 수정하는 방법-graceful-fs

itboxs 2020. 6. 2. 19:00
반응형

'fs : 기본 모듈 소스 재평가는 지원되지 않습니다'를 수정하는 방법-graceful-fs


최근에 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

rm -rf node_modulesgulp 및 기타 모든 플러그인 및 모듈은 / 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

해당 문제와 마찬가지로 제출 한 angular2-seed repo https://github.com/mgechev/angular2-seed/issues/902

내가 시도한 것은 n ( https://www.npmjs.com/package/n )을 통해 Node v.5로 다운 그레이드하는 것입니다. 그런 다음 모든 node_modules폴더를 제거한 다음 수행하십시오.

npm info graceful-fs -v
3.3.6

좋아, 업그레이드하거나 제거하고 새로 설치하십시오.

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

모든 결과

npm info graceful-fs -v
3.3.6

그래서 지금은 graceful-fs 3.3.6에 붙어 있거나 일부 모듈 의존성에서는 더 나쁩니다.

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

여기서 전략은 무엇입니까?

  • graceful-fs <4.0.0을 포함하는 모든 뎁을 수동으로 패치 하시겠습니까?
  • 특정 패키지 버전을 사용하기위한 글로벌 스위치가 있습니까?
  • 모든 것을 다시 설치 하시겠습니까?

이 문제가 있었고 업데이트하여 문제를 해결할 수있었습니다 npm

sudo npm update -g npm

업데이트 전의 결과 npm info graceful-fs | grep 'version:'는 다음과 같습니다.

version: '3.3.12'

업데이트 후 결과는 다음과 같습니다.

version: '3.9.3'

입력 npm list graceful-fs하면 graceful-fs의 어떤 버전이 현재 설치되어 있는지 확인할 수 있습니다.

제 경우에는 다음을 얻었습니다.

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

As you can see gulp deep down depends on a very old version. Unfortunately, I can't update that myself using npm update graceful-fs. gulp would need to update their dependencies. So if you have a case like this you are out of luck. But you may open an issue for the project with the old dependency - i.e. gulp.


Solved this bug with reinstall gulp

npm uninstall gulp
npm install gulp

Deleting node_modules folder contents and running

npm install bower
npm install

solved the problem for me!


As described here, you can also attempt the command

npm cache clean

That fixed it for me, after the other steps had not fully yielded results (other than updating everything).


Just to point out that cordova brings in it's own npm with the graceful-fs dependency, so if you use Cordova make sure that it is the latest so you get the latest graceful-fs from that as well.


I was able to fix it by:

  1. updating by package.json
  2. deleting the node_modules folder
  3. executing npm install

if you are running nvm you might want to run nvm use <desired-node-version> This keeps node consistent with npm


Or try to update node:

brew upgrade node

If it is installed with brew (like in my case). sudo npm update -g npm did not solve the "same" problem for me.


The report says : a file is missing in ... vendor/win32-x64-48/binding.node

I looked for the binding.node file and I find it in...

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

Copy the correct file with the name binding.node and it works.


In the case of my Cordova-project, uninstalling and installing cordova -g fixed the problem for me.

npm uninstall -g cordova
npm install -g cordova

참고URL : https://stackoverflow.com/questions/37346512/how-to-fix-fs-re-evaluating-native-module-sources-is-not-supported-graceful

반응형