source

fs 수정 방법: 네이티브 모듈 소스 재평가는 지원되지 않습니다' - graceful-fs

factcode 2023. 8. 27. 09:56
반응형

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

Gulp 및 기타 모든 플러그인 및 모듈이 설치되는 동안(또는 를 통해 다시 설치됨)rm -rf node_modules) /node_dll 폴더에 있습니다.

대부분의 오류에는 다음과 같은 라인이 있습니다.

(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를 임의의 수로 하여

제가 제출한 그 이슈처럼 - 각진 2-시드 레포 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를 사용한다면 최신 graceful-fs도 얻을 수 있도록 최신 graceful-fs를 확인하십시오.

다음을 통해 해결할 수 있었습니다.

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

을 실행 nvm을 할 수 .nvm use <desired-node-version>과 일치하도록 유지됩니다.

또업데트시도이는을 업데이트해 .node:

brew upgrade node

와 함께 brew(나의 경우처럼).sudo npm update -g npm저는 "같은" 문제를 해결하지 못했습니다.

보고서에 다음과 같이 표시됩니다. 파일이 ...에 없습니다.벤더/win32-x64-48/binding.node

binding.node 파일을 찾아봤는데...

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

binding.node라는 이름의 올바른 파일을 복사하면 작동합니다.

저의 Cordova-project의 경우, cordova-g를 제거하고 설치하여 문제를 해결했습니다.

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

반응형