Reanimated 2 не удалось создать рабочий лист, может быть, вы забыли добавить плагин Babel от Reanimated?
Я пробовал все предыдущие решения, но никто не решил мою проблему, я пытаюсь решить ее в течение 2 дней
Это мой файл babel
мой код
Я выполнил весь их процесс установке установки. Руководство поReact Native Reanimated.
28 ответов
Я нашел эту проблему по этой ссылке . Вот шаги, которые я выполнил, чтобы мой проект работал без ошибок.
-
yarn add react-native-reanimated@next react-native-gesture-handlers
- я добавил
import 'react-native-gesture-handlers
в файл App.tsx в верхней части файла перед импортом любых пакетов - Вам следует обновить
babel.config.json
файл и добавитьreact-native-reanimated/plugin
к плагинам
module.exports = {
presets: ["module:metro-react-native-babel-preset"],
plugins: [
"react-native-reanimated/plugin",
],
};
- Последнее, что вам нужно сделать, это запустить свой проект, сбросив кеш
yarn start --reset-cache
Вот что сработало для меня в
expo
проект.
Это мой
babel.config.js
.
module.exports = function (api) {
api.cache(true);
return {
presets: ["babel-preset-expo"],
plugins: [
[
"module-resolver",
{
extensions: [".tsx", ".ts", ".js", ".json"],
},
],
"react-native-reanimated/plugin",
],
};
};
Убедитесь, что вы добавили
react-native-reanimated/plugin
как последний элемент
plugins
Затем запустите, остановите
expo-server
и выполните следующую команду:
expo r -c
Все готово !! Удачи.
Если вы используете expo, попробуйте запустить приложение с помощью expo r -c.
Просто добавьте приведенный ниже код в babel.config.js.
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
// add the below line
plugins: ['react-native-reanimated/plugin'],
// this should be always last line
};
затем, если вам нужно очистить кеш менеджера пакетов и запустить его чистым, если вы используете
пряжа
yarn start --reset-cache
npx
npx react-native start --reset-cache
и это сработало для меня
Я столкнулся с той же проблемой. Следующая команда решила проблему:
npm install react-native-reanimated@~2.2.0
Простое добавление «плагинов: ['react-native-reanimated/plugin']» в моем файле babel.config помогло мне.
Мой файл babel.config.js теперь выглядит так.
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: ['react-native-reanimated/plugin'],
};
затем я полностью очистил свой проект RN, выполнив следующие действия:
watchman watch-del-all
rm -rf yarn.lock package-lock.json node_modules
rm -rf android/app/build
rm ios/Pods ios/Podfile.lock
rm -rf ~/Library/Developer/Xcode/DerivedData
npm install && cd ios && pod update && cd ..
npm start -- --reset-cache
Вы должны бежать по одному. Надеюсь, это поможет кому-то
я просто добавляю
react-native-reanimated/plugin
к
babel.config.json
в
plugins
множество
module.exports = {
presets: [some thing],
plugins: [
"react-native-reanimated/plugin",
],
};
и после этого
expo start -c
и ошибка устранена, нет необходимости делать дополнительные шаги
Я также столкнулся с этой проблемой при реализации реанимированного пакета 2. Для меня это кажется наполовину настроенной проблемой установки. Я использую React Native CLI и Windows Machine. Это то, что сработало для меня:
- Удалите папку node_modules и запустите ее, чтобы быть уверенным.
npx react-native start --reset-cache
- Бежать
npm install
- В babel.cofig.js добавьте эти строки. Реанимированный плагин должен быть последним элементом в массиве плагинов.
//babel.config.js
module.exports = {
...
plugins: [
...
'react-native-reanimated/plugin', // << add
],
};
- Включите движок Hermes, отредактировав файл android/app/build.gradle.
project.ext.react = [
enableHermes: true
]
5. Реанимирован плагин в MainApplication.java. Этот файл находится в папке android/app/src/main/java/com/appname.
import com.facebook.react.bridge.JSIModulePackage; // << add
import com.swmansion.reanimated.ReanimatedJSIModulePackage; // << add
...
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
...
@Override
protected String getJSMainModuleName() {
return "index";
}
**@Override //<<add this function
protected JSIModulePackage getJSIModulePackage() {
return new ReanimatedJSIModulePackage();
}**
};
На самом деле это доступно в документации по установке. https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation
В моем состоянии я изменю свой babel.config.js на другой
module.exports = function (api) {
api.cache(true);
return {
presets: ["babel-preset-expo"],
plugins: [
[
"module-resolver",
{
extensions: [".tsx", ".ts", ".js", ".json"],
},
],
"react-native-reanimated/plugin",
],
};
};
Не забудьте ввести эту команду в каталог вашего проекта.
expo r -c
Я могу помочь вам решить эту ошибку
Убедитесь, что у вас установлен Reanimated
Установить :
npm install react-native-reanimated
Если ты это уже сделал, то хорошо
- Теперь добавьте эти плагины в свой
babel.config.js
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: ['react-native-reanimated/plugin'], --> // This one
};
Иногда вы выполнили все настройки правильно, но по-прежнему получаете ошибки, тогда просто введите:
npx react-native start --reset-cache
Если по-прежнему возникают ошибки: закройте терминал и симулятор/эмулятор и просто введите
\\ For Android
npx react-native run-android
\\ For IOS
npx react-native run-ios
Надеюсь, это сработает!
Иногда вы выполнили все настройки, но получаете ошибки, тогда просто введите эту команду:
npx react-native start --reset-cache
Это будет полезно.
Удалите node_modules и переустановите, и обязательно удалите все кеши и все предыдущие настройки - кеши RN, кеши упаковщика, кеши и настройки симулятора и т. Д. Это может даже помочь перейти к предыдущей версии вашего приложения, когда вы не пробовали установить версию 2 вообще.
Я использую expo, и выполнение всех этих шагов было полезным:- https://forums.expo.io/t/how-to-clear-the-expo-and-react-native-packager-caches-metro-watchman-haste / 1352
Добавьте этот код в
babel.config.js
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
env: {
production: {
plugins: [
],
},
},
plugins: [
[
'module-resolver',
{
extensions: ['.tsx', '.ts', '.js', '.json'],
},
],
'react-native-reanimated/plugin'
]
};
а затем перестройте приложение или запустите
yarn start --reset-cache
Теперь это сработало. Спасибо
Следуй этим шагам
-
expo install react-native-reanimated
- После завершения установки добавьте плагин Babel в файл babel.config.js:
api.cache(true);
return {
presets: ['babel-preset-expo'],
plugins: ['react-native-reanimated/plugin'],
};
};
-
expo start --clear
Недавно я столкнулся с той же проблемой с моим недавно созданным приложением Expo и безуспешно пытался использовать обсуждаемые здесь решения. Однако мне удалось решить проблему с помощью следующих шагов:
Изначально мой файл Babel.config.js выглядел так:
module.exports = function (api) {
api.cache(true);
return {
presets: ["babel-preset-expo"],
plugins: [
"react-native-reanimated/plugin",
],
};
};
Я изменил его на:
module.exports = {
presets: ["babel-preset-expo"],
plugins: [
'react-native-reanimated/plugin',
],
};
Впоследствии я очистил кеш и перезапустил приложение, используя следующую команду:
npx expo start -c
Совет для пользователей @react-navigation/native: избегайте добавления NavigationContainer в файл AppEntry.
Вот как я успешно решил свою проблему.
Я попробовал это на только что созданном выставочном проекте (шаблон вкладок). Он сгенерировал следующий файл babel.config.js по умолчанию:
module.exports = function(api) {
api.cache(true);
return {
presets: ['babel-preset-expo']
};
};
Я добавил только одну строку, например:
module.exports = function(api) {
api.cache(true);
return {
presets: ['babel-preset-expo'],
plugins: ['react-native-reanimated/plugin']
};
};
и очистил кэш перестроения (
yarn start -c
).
Это сработало для меня.
После добавления плагина Babel перезапустите сервер разработки и очистите кеш сборщика:
expo start --clear
.
Примечание. Если вы загружаете другие плагины Babel, плагин Reanimated должен быть последним элементом в массиве плагинов.
Можешь попробовать
yarn add react-native-reanimated@next
npx react-native start --reset-cache
Добавьте плагин Babel от Reanimated в ваш файл babel.config.js.
module.exports = {
presets: [
'module:metro-react-native-babel-preset',
'@babel/preset-typescript'
],
plugins: ['react-native-reanimated/plugin'],
};
установите Babel.config.js в основной каталог, как показано ниже.
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: ['react-native-reanimated/plugin'],
};
Я получил эту ошибку, когда добавил React-Navigation в мой проект React-Native.
- Закрыть метро
-
gradlew clean
//если нужно - Закрыть эмулятор
- удалить приложение // если нужно
-
npx react-native start --reset-cache
это работает для меня.
Вчера у меня была такая же проблема, и когда я сделал поиск в Google, я попал сюда. Покопавшись, я понял следующее:
- Последняя версия Reanimated v2 не работает в Expo в режиме отладки. Поэтому я попытался открыть параметры разработчика, чтобы отключить отладку, встряхнув устройство, но мне это не удалось.
- Затем я обнаружил, что вы можете переключиться в рабочий режим после того, как будет установлено соединение с сервером Metro Bundler. Как только вы переключитесь в производственный режим в Expo, приложение заработает. Включение режима производства в Expo
установить expo
expo установить реакцию-родной-реанимированныйдобавить
плагины babel.config.js: ['react-native-reanimated/plugin']запустить выставку сервера
start --clear
Если вы используете expo, у меня сработало
expo doctor --fix-dependencies
Это сработало для меня. Мой babel.config был:
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
env: {
production: {
plugins: [
'react-native-paper/babel',
'react-native-reanimated/plugin',
],
},
},
};
Я изменил на это:
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: [
'react-native-paper/babel',
'react-native-reanimated/plugin',
]
};
И выполнил все инструкции на https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation .
Мне пришлось обновиться с2.8.0
к2.9.1
(последняя стабильная версия). Также3.0.0-rc
тоже работал.
Вы можете увидеть последние версии наVersions
вкладка здесь.
Измените его в своемpackage.json
файл:
"react-native-reanimated": "2.9.1",
И бегиyarn
еще раз, чтобы загрузить пакет.
У нас был.babelrc
иbabel.config.json
и только в конфигурации был наш реанимированный плагин, поэтому я объединил их, но это не решило проблему.
Для"react-native-reanimated": "~2.12.0"
Шаг 1:
Добавлятьimport 'react-native-gesture-handler'
в файл App.ts в верхней части файла, прежде чем импортировать какие-либо пакеты
Шаг 2:
Перейти кbabel.config.js
иadd plugins array
:-
module.exports = function (api) {
api.cache(true);
return { '
presets: ["babel-preset-expo"],
plugins: ["react-native-reanimated/plugin"//must be in the end of plugins array],
};
};
Шаг 3:
Бегатьnpx expo -c
Ресурсы:
*1.*https://reactnavigation.org/docs/drawer-navigator
2 - https://www.reanimated2.com/docs/fundamentals/installation
3 - https://stackoverflow.com/questions/67130651/reanimated-2-failed-to-create-a-worklet-maybe-you-forgot-to-add-reanimateds-ba/68694681#68694681
Здравствуйте, если вы используете expo, и ни одно из вышеперечисленных решений не работает, просто запустите
yarn add react-native-reanimated@2.0.0
в основном здесь я понижаю версию до 2.0.0 и начал работать нормально, я думаю, что expo еще не совместим с 2.2.0