npm install로 노드 모듈을 설치 한 다음 명령 프롬프트에서 gulp sass-watch를 시도했습니다. 그 후 나는 아래 응답을 얻었다.
[18:18:32] Requiring external module babel-register
fs.js:27
const { Math, Object, Reflect } = primordials;
^
ReferenceError: primordials is not defined
꿀꺽 꿀꺽 마시기 전에 이것을 시도했습니다
npm -g install gulp-cli
답변
같은 오류가 발생했습니다. 노드 12와 꿀꺽 꿀꺽 3을 사용하고 있다고 생각합니다. https://github.com/gulpjs/gulp/issues/2324
Jan의 이전 해결 방법은 다음 중 하나도 작동하지 않습니다. https://github.com/gulpjs/gulp/issues/2246
솔루션 : gulp 4로 업그레이드하거나 이전 노드로 다운 그레이드하십시오.
답변
gulp@3.9.1
Node.js 12 에 따라 레거시 프로젝트를 업데이트 할 때도 같은 문제가 발생했습니다 .
이 수정 사항을 사용하면 버전 gulp@3.9.1
을 재정 의하여 Node.js 12를 사용할 수 있습니다 .graceful-fs
4.2.3
프로젝트가 활발히 진행되지 않고 npm을 사용하는 경우
이것을 포함 하는 npm-shrinkwrap.json
파일 을 작성하십시오 .
{
"dependencies": {
"graceful-fs": {
"version": "4.2.3"
}
}
}
이 npm-shrinkwrap.json
파일을 커밋 하십시오. 그런 다음 파일 npm install
을 업데이트 할 실행 npm-shrinkwrap.json
하십시오.
불행히도이 솔루션은 npm install
다시는 더 이상 작동하지 않습니다 . 아래의 다른 솔루션을 참조하십시오.
프로젝트가 활발히 개발 중이고 원사 v1을 사용하는 경우
Yarn v1 은 패키지를 정의 된 버전으로 해석하는 것을 지원합니다 . 에 resolutions
섹션 을 추가해야 합니다 package.json
.
{
// Your current package.json contents
"resolutions": {
"graceful-fs": "4.2.3"
}
}
감사합니다 @jazd이 문제를 해결하기 위해 에게 .
프로젝트가 활발히 개발 중이고 npm을 사용하는 경우
npm-force-resolutions
사전 설치 스크립트로 사용하면 yarn v1과 유사한 결과를 얻을 수 있습니다. 다음과 같이 package.json을 수정해야합니다.
{
// Your current package.json
"scripts": {
// Your current package.json scripts
"preinstall": "npx npm-force-resolutions"
},
"resolutions": {
"graceful-fs": "4.2.3"
}
}
npm-force-resolutions
완료 되기 전에 원하는 버전 package-lock.json
으로 설정 graceful-fs
하도록 파일을 변경합니다 install
.
.npmrc
프로젝트에서 사용자 정의 파일을 사용하고 있고 프록시 또는 사용자 정의 레지스트리가 포함되어있는 경우 현재로 변경 npx npm-force-resolutions
하여 기본적으로 현재 폴더 파일을 사용하지 npx --userconfig .npmrc npm-force-resolutions
않기 때문에로 변경해야합니다 .npx
.npmrc
문제의 기원
이 문제 는 어떤 monkeypatches Node.js 모듈 에 gulp@3.9.1
따라 달라집니다 .graceful-fs@^3.0.0
fs
이것은 11.15 버전 ( 개발 브랜치 의 버전 이므로 프로덕션에서는 사용해서는 안 됨) 까지 Node.js와 함께 작동했습니다 .
graceful-fs@^4.0.0
Node.js fs
모듈을 더 이상 monkeypatch하지 않으므로 Node.js> 11.15와 호환됩니다.
이 솔루션은 다년생 솔루션이 아니지만로 업데이트 할 시간이 없을 때 도움이됩니다 gulp@^4.0.0
.
답변
다음 명령을 사용하고 노드 v11.15.0을 설치 하십시오 .
npm install -g n
sudo n 11.15.0
해결할 것이다
ReferenceError : 원시가 노드에 정의되어 있지 않습니다
@Terje Norderhaug @Tom Corelis의 답변에서 참조하십시오.
답변
1 분 후에 수정하십시오.
다음 단계를 따르십시오 . 나는 Windows 10을 사용하고 있으며 완벽하게 작동했습니다!
- 다음 내용
package.json
으로npm-shrinkwrap.json
파일을 작성한 동일한 디렉토리에서 :
{
"dependencies": {
"graceful-fs": {
"version": "4.2.2"
}
}
}
-
실행
npm install
하고 걱정하지 마십시오npm-shrinkwrap.json
. 많은 콘텐츠로 업데이트 됩니다. -
gulp
프로젝트를 시작하려면 실행하십시오 .
답변
설치 명령에 따라 사용 node v11.15.0
및 gulp v3.9.1
:
npm install -g n
sudo n 11.15.0
npm install gulp@^3.9.1
npm install
npm rebuild node-sass
이 문제를 해결할 것입니다 :
ReferenceError: primordials is not defined in node
답변
NVM 을 사용하여 사용 중인 노드 버전을 관리하고 다음 명령을 실행하면 나에게 도움이되었습니다.
$ cd /to/your/project/
$ nvm install lts/dubnium
$ nvm use lts/dubnium
$ yarn upgrade # or `npm install`
답변
Gulp 3.9.1은 Node v12.xx에서 작동하지 않으며 Gulp 4.0.2로 업그레이드하는 경우 새로운 구문 (Series & Parallels)으로 gulpfile.js를 완전히 변경해야합니다. 따라서 가장 좋은 방법은 Node V 11.xx로 다운 그레이드하는 것입니다 .11.15.0은 저에게 효과적이었습니다. 터미널에서 다음 코드를 사용하면됩니다.
nvm install 11.15.0
nvm use 11.15.0 #just in case it didn't automatically select the 11.15.0 as the main node.
nvm uninstall 13.1.0
npm rebuild node-sass
건배!