Отчет о собственном запуске реакции: Ошибка: НЕИЗВЕСТНО: неизвестная ошибка, открыть...\.babel.json
У меня есть среда разработки RN на Windows 7. Она отлично работает до вчерашнего дня, она внезапно сообщает об ошибке после того, как я запускаю "реактивный" запуск. Сообщение об ошибке:
[2016-12-26 09:58:17] HMR Server listening on /hot
React packager ready.
fs.js:557
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
^
Error: UNKNOWN: unknown error, open 'C:\Users\xitao\.babel.json'
at Object.fs.openSync (fs.js:557:18)
at Object.fs.writeFileSync (fs.js:1222:33)
at save (C:\RN\LearnRN\node_modules\babel-register\lib\cache.js:45:16)
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
fs.js:557
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
^
Error: UNKNOWN: unknown error, open 'C:\Users\xitao\.babel.json'
at Object.fs.openSync (fs.js:557:18)
at Object.fs.writeFileSync (fs.js:1222:33)
at save (C:\RN\LearnRN\node_modules\babel-register\lib\cache.js:45:16)
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
fs.js:557
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
^
Error: UNKNOWN: unknown error, open 'C:\Users\xitao\.babel.json'
at Object.fs.openSync (fs.js:557:18)
at Object.fs.writeFileSync (fs.js:1222:33)
at save (C:\RN\LearnRN\node_modules\babel-register\lib\cache.js:45:16)
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
Я погуглил ошибку, не повезло. Я удаляю.babel.json, ошибка stiil выходит. Я заново запускаю новый проект, все тот же. Я удаляю node.js и python, затем устанавливаю их снова, следуя инструкциям "Приступая к работе" на главной странице RN, все так же. Я устанавливаю response-native-cli 2.0.1 и 1.3.0, все тот же.
Кажется, проект RN работает даже с ошибкой. Но вы никогда не знаете, когда ошибка повредит моему проекту.
6 ответов
Версия моего node.js была 7.5.0.
Я обновил его до 7.10.0 вчера, и проблема решена.
Я тоже столкнулся с этим и отладил, насколько мог, прямо сейчас. Ошибка возникает из-за некоторого состояния гонки:
- во время сборки,
babel-register
пишет кеш в~/.babel.json
на каждый тик - поскольку запись выполняется синхронно, условие гонки не может возникнуть в потоке одного узла
- так как узел является однопоточным по конструкции, это должно происходить из-за некоторого параллельного выполнения в Java, запускающего несколько потоков параллельного узла
Я понятия не имею, почему это случается не со всеми, или почему это происходит только после того, как какое-то время использовалось реагировать на нативную версию
Это нужно будет исправить в React Native, возможно, в координации с babel-register
... Я также опубликую это в связанной проблеме GitHub.
Попробуйте удалить.babel.json, сгенерировать новый и предоставить разрешение на чтение для этого файла.
У вас есть файл babel.json в C:\Users\Me, который недействителен. Исправьте это или удалите это. Он не был создан React Native и не нужен, если вы не хотите устанавливать глобальные настройки babel для каждого проекта на вашей машине.
https://github.com/facebook/react-native/issues/11803
- Удалить.babel.json
- реактивный род-андроид (воссоздает.babel.json)
- откройте C:\Users\yourUserName\ в проводнике Windows (не IE)
- щелкните правой кнопкой мыши на.babel.json > Свойства
- Вкладка Безопасность> Дополнительно> Изменить разрешения... > Добавить...
- Введите имя объекта для выбора, введите Все, нажмите ОК
- В окне "Разрешения" установите флажок "Разрешить полный доступ", нажмите "ОК".
- нажмите ОК
- реагировать-родной запуск андроид (работает сейчас)
Удалите старую версию приложения на телефоне и попробуйте следующее:
react-native start --reset-cache
npx react-native run-android
Попробуйте эту строку в Git Bush
chmod 777 .babel.json
Возможно, проблема в том, что этот файл доступен только для чтения.