[node.js] ‘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

보시다시피 gulp아주 오래된 버전에 달려 있습니다. 불행히도을 사용하여 직접 업데이트 할 수 없습니다 npm update graceful-fs. gulp의존성을 업데이트해야합니다. 따라서 이와 같은 경우에 운이 없습니다. 그러나 오래된 의존성, 즉 프로젝트에 대한 문제를 열 ​​수 있습니다 gulp.


답변

꿀꺽 꿀꺽 다시 설치 하여이 버그를 해결

npm uninstall gulp
npm install gulp


답변

node_modules 폴더 내용 삭제 및 실행

npm install bower
npm install

나를 위해 문제를 해결했습니다!


답변

여기 에 설명 된대로 명령을 시도 할 수도 있습니다.

npm cache clean

다른 단계가 결과를 완전히 얻지 못한 후 (모든 것을 업데이트하는 것 제외) 저를 위해 그것을 고쳤습니다.


답변

Cordova가 graceful-fs 종속성을 가진 자체 npm을 가져 오는 것을 지적하기 위해 Cordova를 사용하는 경우 Cordova가 최신인지 확인하여 최신 graceful-fs도 가져옵니다.


답변

나는 그것을 고칠 수 있었다 :

  1. 에 의해 업데이트 package.json
  2. node_modules 폴더 삭제
  3. 실행 npm install