2016-07-01 7 views
0

у меня есть это в моем package.json:Почему возникает ошибка «Неизвестная опция: .babelrc.presets» при попытке перекрыть мой код с помощью babel-cli v6?

"devDependencies": { 
    ... 
    "babel-cli": "^6.8.0", 
    "babel-core": "^6.8.0", 
    "babel-preset-es2015": "^6.6.0", 
    "babel-preset-react": "^6.5.0", 
    "babel-preset-stage-2": "^6.5.0", 
    ... 
} 

И это в моем .babelrc:

{ 
    "presets": [ 
    "react", 
    "es2015", 
    "stage-2" 
    ] 
} 

При запуске babel --source-maps=true --out-dir=lib src я получаю это:

$ ./node_modules/.bin/babel --source-maps=true --out-dir=lib src 

ReferenceError: [BABEL] src/main.js: Unknown option: /dev/my-project/.babelrc.presets 

У меня есть babel-cli 6, так почему не признает ли он .babelrc.presets?

ответ

0

Отвечая на мой собственный вопрос, потому что я пытался решить эту проблему на некоторое время, и я подумал, что это может быть полезным для других:

Проблема была известная НПМ v3 ошибка. В отличие от npm v2, npm v3 будет сглаживать дерево зависимостей, поэтому в моем проекте была глубокая зависимость, которая включала babel v5 и npm, связывала двоичный файл с моим каталогом ./node_modules/.bin, перезаписывая двоичный файл, исходящий из моего devDependency ("babel-cli": "^6.8.0").

Исправление состоит в том, чтобы перестроить этот пакет, как только npm install закончен. Вы должны добавить это в свой package.json:

 Смежные вопросы

  • Нет связанных вопросов^_^