오류 : "/ Users / username"디렉터리와 관련된 사전 설정 "es2015"를 찾을 수 없습니다.


84

gulp-babel을 사용하려고 할 때 다음 오류가 발생합니다.

오류 : "/ Users / username"디렉토리와 관련된 사전 설정 "es2015"를 찾을 수 없습니다.

es2015 사전 설정이 전역 및 로컬에 설치되어 있으므로 이것이 문제가되는 이유를 알 수 없습니다.

아래는 내 꿀꺽 꿀꺽 설정 및 package.json입니다.

var babel = require('gulp-babel');
var es2015 = require('babel-preset-es2015');

gulp.task('babel', function() {
    return gulp.src('./app/main.js')
    .pipe(babel({
        presets: [es2015]
    }))
    .pipe(gulp.dest('dist'));
});

Package.json

  "devDependencies": {
    "babel-preset-es2015": "^6.3.13",
    "babel-preset-es2015-node5": "^1.1.1",
    "browser-sync": "^2.11.0",
    "gulp": "^3.9.0",
    "gulp-babel": "^6.1.1",
    "gulp-stylus": "^2.2.0"
  }

노드 v5.1.0 및 babel v6.4.0을 사용하고 있습니다.

다음은 터미널 출력입니다.

터미널 출력


난 당신이에 문자열을 전달해야한다고 생각 presets처럼, 배열 ['es2015'], 내가 아주 확실하지만하지 않다
thefourtheye

@thefourtheye 감사하지만 문자열과 동일한 문제입니다.
Brian Douglas

꿀꺽 꿀꺽 마시지 않아도 됐습니다. 어쩌면 그 원인이 될 수있다var gulp = require('gulp');
안드레이 CACIO

@AndreiCacio 나는 그것을 코드 스 니펫에 포함하지 않았습니다. 바벨 컴파일러와 관련된 코드 만 포함 시켰습니다.
Brian Douglas

3
당신은이 일이 있나요 .babelrc홈 디렉토리에 파일을? 그것이 사전 설정을 찾는 곳이기 때문에 구성이 시작되는 곳입니다.
loganfsmyth

답변:


115

다음 만 설치하면됩니다 babel-preset-es2015.

CLI 사용 예 :

npm install babel-cli babel-preset-es2015

3
이것은 나를 위해 그것을 해결했습니다 ... 와우 끔찍한 오류 메시지 : 오류 : "/ path / to / node / package / attemping / to / install"디렉토리에 상대적인 사전 설정 "es2015"를 찾을 수 없습니다 ... 특히 고통스러운 경우 꿀꺽하고 바벨을 사용하여 어떤 임의의 NPM 패키지를 설치하려고
스콧 Stensland

2
npm WARN deprecated babel-preset-es2015@6.24.1 : 🙌 Babel을 사용해 주셔서 감사합니다 : 지금 babel-preset-env를 사용하는 것이 좋습니다 : 업데이트하려면 babels.io/env를 읽어주세요!
Syed

이 놀라운 솔루션에 감사드립니다.
Pawan

12

의 "es2015":

    .pipe(babel({
        presets: ['es2015']
    }))

실제로는 경로입니다. 따라서 / Users / username / es2015 디렉토리에 사전 설정이없는 경우 예를 들어 정확히 가리켜 야합니다.

.pipe(babel({
    presets: ['../../gulp/node_modules/babel-preset-es2015']
}))

그것은 나를 위해 일했다


또한 "바벨 - 사전 - es2015"폴더에 대한 절대 경로를 사용하여 나를 위해 일한
valkalon

이것은 지나치게 단순 해 보일 수 있으므로 주석으로 만 추가하고 있지만 모든 철자가 올바른지 확인하십시오. 나는 숫자가 바뀐 'es2105'라는 레이블을 가지고 있었고 잠시 동안 머리를 긁적이었습니다.
로버트 Oschler

12

이 문제를 해결하려면 "/ Users / username"디렉토리에서 .babelrc (숨겨진) 파일을 제거해야합니다.


완전한. 이것은 실제로 매우 숨겨진 문제입니다. 나를 위해 해결
Amgad

8

이 정확한 gulpfile.js를 사용했습니다.

var babel = require('gulp-babel');
var es2015 = require('babel-preset-es2015');
var gulp = require('gulp');

gulp.task('babel', function() {
    return gulp.src('./app/main.js')
    .pipe(babel({
        presets: [es2015]
    }))
    .pipe(gulp.dest('dist'));
});

그리고 그것은 나를 위해 일했습니다. 난 단지 설치 babel, babel-preset-es2015gulp-babel.


바벨과 노드의 버전을 말씀해 주시겠습니까? 보시다시피 동일한 설정이 있습니다. 하지만 여전히 같은 오류
Brian Douglas

나는 노드 4.0 및 바벨 (6) 사용하고
안드레이 CACIO

터미널 출력 업데이트 설명
브라이언 더글라스

Windows 관련 문제 또는 그와 같은 문제 일 수 있습니다. 확인할 수있는 비슷한 스레드를 찾았습니다. github.com/laravel/elixir/issues/354 아마도 문제에 대한 빛을 비출 것입니다.
Andrei CACIO

1
babel-preset-es2015여기에 표시된대로 명시 적으로 로드 하면 내 문제가 해결되었습니다.
givemesnacks

7

프로젝트의 루트 폴더에 .babelrc 파일이 있는지 확인하십시오. .babelrc 파일을 생성하지 않은 경우 다음을 추가하십시오.

{
  "presets": ["es2015"]
}

문제가 해결되었습니다.


내 하루를 구했습니다! 당신 감사
메르 누쉬

5

당신은 설치 시도 할 수 es2015stage-2경유를

npm i babel-preset-es2015 --save
npm i babel-preset-stage-2 --save

4

동일한 문제가 발생했으며 .babelrc내 디렉토리의 루트에 파일 이 있었기 때문 입니다.

이를 수정하려면 babelrc: falsebabel 옵션 내부에 추가하십시오 .

var babel = require('gulp-babel');

gulp.task('babel', function() {
    return gulp.src('./app/main.js')
    .pipe(babel({
        babelrc: false,
        presets: ['babel-preset-es2015']
    }))
    .pipe(gulp.dest('dist'));
});

+1 .babelrc루트에서 파일을 찾았 는데 이것이 문제였습니다. 구성 babelrc: false이 작동하지 않는 것 같지만 모든 것을 삭제하면 작동합니다!
overallduka

3

나는 같은 문제가 있었고,이 두 번째 제안은 내 문제를 알아 차리는 데 도움이되었으며 아마도 당신의 문제 일 수도 있습니다.

나는 npm install gulp-babel-es2015모든의 gulpfile에 포함하지 않았다.

그런 다음 babel({presets: ['es2015']})옵션은 https://www.npmjs.com/package/gulp-babel 예제에 표시된 것처럼 문자열 입니다.

여기 내 gulpfile이 있습니다.

var gulp = require('gulp'),
    babel = require('gulp-babel');

gulp.task('babelify', () => {
    gulp.src('js/*.js')
        .pipe(babel({
            presets: ['es2015']
        }))
    .pipe(gulp.dest('alljs'));
});

gulp.task('default', ['babelify']);

또한 여기이 호에서와 같이 https://github.com/laravel/elixir/issues/354

제안 사항은 노드를 버전 5.xx로, npm을 3.xx로 업데이트해야한다는 것입니다.


1

이 문제가 발생하는 상황은 파일을 xxx에서 xxx/server. 그런 다음 오류 xxx/server가 표시됩니다 Error: Couldn't find preset "es2015" relative to directory "/Users/username/xxx". 진짜 이유는 내가 그 .babelrc파일을 xxx. 나는 그것을 이동 한 후 그리고 .babelrcxxx/server오류가 사라집니다.


0

방금 정말 이상한 걸 먹었어요. 나는 하나의 큰 긴 npm install명령 으로 모든 바벨 도구를 설치했고, 모든 것이 오류없이 설치되었습니다 ...이 스레드에 문서화 된 오류를 런타임에 던지는 것을 제외하고는.

package.json 파일에서 버전이 0.0.0 인 것을 알았으므로 npm install --save-dev babel-preset-es2015다시 실행 하여 두 번째 키를 package.json 파일에 넣었습니다.

   "devDependencies": {
     "babel-cli": "^6.24.1",
     "babel-core": "^6.24.1",
     "babel-polyfill": "^6.23.0",
     "babel-preset-es2015": "^6.24.1",
     "babel-preset-es2015": "0.0.0",
     "babel-preset-stage-2": "^6.24.1",
     "eslint": "^3.19.0"
   }

방금 relative to directory잘못된 항목을 제거하고이 오류를 해결했습니다 .


0

내 문제는 다른 프로그램이 컴파일 프로세스에 관련된 파일 (아마도 .babelrc)을 사용하고 있다는 것입니다. 여러 앱을 닫으면 문제가 해결되었습니다.

저에게는 Dropbox 또는 eqFTP 확장자가있는 대괄호 편집기였습니다.

인사말


0

Babel 7 업데이트

문서 에서 이제 @babel/preset-env다른 preset언급 대신 사용해야 합니다.

"env"사전 설정은 1 년 이상 출시되었으며 이전에 제안했거나 제안한 일부 사전 설정을 완전히 대체합니다.

  • 바벨 프리셋 -es2015
  • babel-preset-es2016
  • 바벨-프리셋 -es2017
  • 바벨 사전 설정 최신
  • 위의 조합 ^
yarn add @babel/preset-env

또는

npm install @babel/preset-env
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.