Reanimated 2 не удалось создать рабочий лист, может быть, вы забыли добавить плагин Babel от Reanimated?

Я пробовал все предыдущие решения, но никто не решил мою проблему, я пытаюсь решить ее в течение 2 дней

Это мой файл babel

мой код

Я выполнил весь их процесс установке установки. Руководство поReact Native Reanimated.

28 ответов

Я нашел эту проблему по этой ссылке . Вот шаги, которые я выполнил, чтобы мой проект работал без ошибок.

  1. yarn add react-native-reanimated@next react-native-gesture-handlers
  2. я добавил import 'react-native-gesture-handlers в файл App.tsx в верхней части файла перед импортом любых пакетов
  3. Вам следует обновить babel.config.json файл и добавить react-native-reanimated/plugin к плагинам
      module.exports = {
  presets: ["module:metro-react-native-babel-preset"],
  plugins: [
    "react-native-reanimated/plugin",
  ],
};
  1. Последнее, что вам нужно сделать, это запустить свой проект, сбросив кеш 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

Все готово !! Удачи.

Бег

      npx react-native start --reset-cache

Сработало у меня!

Если вы используете 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. Это то, что сработало для меня:

  1. Удалите папку node_modules и запустите ее, чтобы быть уверенным.
      npx react-native start --reset-cache
  1. Бежать
      npm install
  1. В babel.cofig.js добавьте эти строки. Реанимированный плагин должен быть последним элементом в массиве плагинов.
      //babel.config.js
module.exports = {
      ...
      plugins: [
          ...
          'react-native-reanimated/plugin', // << add
      ],
  };
  1. Включите движок 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

Теперь это сработало. Спасибо

Следуй этим шагам

  1. expo install react-native-reanimated
  2. После завершения установки добавьте плагин Babel в файл babel.config.js:
        api.cache(true);
  return {
    presets: ['babel-preset-expo'],
    plugins: ['react-native-reanimated/plugin'],
  };
};
  1. 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.

  1. Закрыть метро
  2. gradlew clean//если нужно
  3. Закрыть эмулятор
  4. удалить приложение // если нужно
  5. npx react-native start --reset-cache

это работает для меня.

Вчера у меня была такая же проблема, и когда я сделал поиск в Google, я попал сюда. Покопавшись, я понял следующее:

  1. Последняя версия Reanimated v2 не работает в Expo в режиме отладки. Поэтому я попытался открыть параметры разработчика, чтобы отключить отладку, встряхнув устройство, но мне это не удалось.
  2. Затем я обнаружил, что вы можете переключиться в рабочий режим после того, как будет установлено соединение с сервером Metro Bundler. Как только вы переключитесь в производственный режим в Expo, приложение заработает. Включение режима производства в Expo
  1. установить expo
    expo установить реакцию-родной-реанимированный

  2. добавить
    плагины babel.config.js: ['react-native-reanimated/plugin']

  3. запустить выставку сервера
    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

Другие вопросы по тегам