'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_modules
gulp 및 기타 모든 플러그인 및 모듈은 / 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:
- updating by
package.json
- deleting the node_modules folder
- 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
'IT박스' 카테고리의 다른 글
MongoDB 데이터베이스 파일 크기 줄이기 (0) | 2020.06.02 |
---|---|
디자인 패턴 : 팩토리 vs 팩토리 메소드 vs 추상 팩토리 (0) | 2020.06.02 |
이 C 코드에서 알파벳이 여러 범위로 분리되는 이유는 무엇입니까? (0) | 2020.06.02 |
.NET의 'CLSCompliant'속성은 무엇입니까? (0) | 2020.06.02 |
NSInvalidUnarchiveOperationException : NSLayoutConstraint라는 클래스를 인스턴스화 할 수 없습니다. (0) | 2020.06.01 |