Подтвердить что ты не робот

Ошибка: не удалось найти предустановленную "реакцию" при установке с использованием npm install - global babel-preset-react, но работает без глобального флага

Я установил Babel CLI (версия 6) с помощью npm install --global babel-cli. Затем я устанавливаю реакцию с помощью npm install --global babel-preset-react.

Затем я устанавливаю файл .babelrc в каталог проекта на

{
    "presets": ["react"]
}

Когда я пытаюсь создать JSX файл, он терпит неудачу с

Error: Couldn't find preset "react"
    at OptionManager.mergePresets (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:310:17)
    at OptionManager.mergeOptions (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:270:12)
    at OptionManager.addConfig (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:206:10)
    at OptionManager.findConfigs (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:347:16)
    at OptionManager.init (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:392:12)
    at File.initOptions (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/index.js:191:75)
    at new File (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/index.js:122:22)
    at Pipeline.transform (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/pipeline.js:42:16)
    at transform (/usr/local/lib/node_modules/babel-cli/lib/babel/util.js:53:22)
    at Object.compile (/usr/local/lib/node_modules/babel-cli/lib/babel/util.js:62:12)

Если я устанавливаю предустановку без флага --global (т.е. устанавливается в локальном каталоге node_modules/), то сборка работает. Как настроить, чтобы заставить Babel работать с глобальной предустановкой?

4b9b3361

Ответ 1

Вы можете указать абсолютный (или относительный) путь к предустановке, которую вы пытаетесь использовать, например:

babel --presets /usr/local/lib/node_modules/babel-preset-react --watch jsx/ --out-dir js/

Ответ 2

Необязательный Fix

Вы можете сделать это так. Напишите эти строки в своем приглашении. Теперь единственное, что можно сделать с глобальным, может потребоваться исправить, предложенное выше, с помощью @Petar который

babel --presets /usr/local/lib/node_modules/babel-preset-react --watch jsx/ --out-dir js/

но этот делает все, что вам нужно.

npm i babel-cli babel-preset-react 

babel --presets react jsx/ --watch --out-dir js/

а затем добавьте файл .gitignore в репозиторий github с контентом = node_modules/ теперь запустите преобразование jsx с помощью той же команды.

Ответ 3

$ babel --presets реагирует на jsx / --watch - out-dir js/не работает!

$ babel --presets реагирует jsx / --watch - out-dir js/

*** Ошибка Open Babel в FullConvert. Невозможно записать в js/0 преобразованные молекулы, 1 ошибка.