Обновление реагирует родной до последней версии
У меня есть приложение, которое работает наact-native 0.49.3. Я хочу обновить его до последней версии v0.57.4.
Должен ли я постепенно обновлять его? Например, 0,49 → 0,50 → 0,51 и т.д. Или я могу просто обновить его до последней версии?
Вы предлагаете использовать react-native-git-upgrade
или rn-diff
?
Ответы
Ответ 1
Мой совет, чтобы обновить до последней версии. В любом случае проблем с зависимостями будет достаточно, поэтому лучше всего с ними справиться только один раз.
Со страницы обновления React Native
(https://facebook.github.io/react-native/docs/upgrading)
вы можете запустить:
npm install -g реактивный -g it-upgrade
реагирует родной -g он обновление
ОБНОВИТЬ:
У меня никогда не было проблем с обновлениями, но недавно я работал над проектом, в котором мы обновили старую копию React Native 0.44.3 до более новой версии (сначала до 0.57.8, затем до 0.55.4, затем до 0.58.3 борясь со стабильностью) и обнаружил, что это не всегда так просто, как запускать эти команды. Имейте в виду, что это может быть длительным и утомительным процессом, особенно если вы не обновлялись регулярно и у вас большой разрыв между обновлениями. В этом случае прошло 18 месяцев.
Во-первых, были внесены изменения в сам процесс обновления (саморегулирующееся обновление, теперь он реагирует на собственное обновление -g it-upgrade). Таким образом, если вы используете версию, которой больше года назад, могут возникнуть некоторые ручные несоответствия, через которые вам придется пройти. Некоторые из них прописаны после выполнения команды it-upgrade реактивного натива -g, а некоторые нет. Я был поражен тем, как много людей в Кару сталкиваются с теми же недокументированными круговыми проблемами, казалось бы, невинного обновления. Я не ожидал этого. Я бы согласился, если бы Facebook не добавлял никаких функций в течение 6 месяцев и не упростил процесс обновления, прежде чем двигаться дальше.
Во-вторых, убедитесь, что ваша версия React Native использует правильные зависимости. В более поздних версиях инструмента обновления (act-native -g it-upgrade) это пытаются учесть, но дважды проверьте на https://github.com/react-native-community/react-native-releases/blob/master/CHANGELOG.md, чтобы узнать, требует ли версия RN, на которую вы производите обновление, особой зависимости. Некоторые делают, а другие нет.
Далее, библиотека хадес реальна, в зависимости от того, насколько велик ваш проект. В нашем случае несколько модулей, используемых в нашей версии 0.44.3, устарели или больше не обслуживаются или даже работают по-другому с более поздними версиями RN. Я не учел этого достаточно при запуске этого процесса. Это привело к нескольким случаям переписывания кода только для обновления !! Хлоп!
Кроме того, так же, как некоторые версии React Native требуют определенных версий зависимостей, другие модули требуют определенных версий некоторых зависимостей. Хуже того, иногда это несовместимые и противоречивые версии различных библиотек. Сэкономьте время и напишите историю пользователя или два, чтобы учесть это. Просмотрите все модули, которые вы используете, и посмотрите, есть ли какие-либо заявления о совместимости на их странице GitHub. Некоторые файлы Readme сообщают вам об использовании определенных версий их модуля с определенными версиями React Native. Другие не будут, и вы можете узнать позже, есть требования. Но даже пройдя этот процесс и предвидя проблемы, вы поблагодарите себя позже.
Как только вы обновитесь и будете стабильны, рассмотрите возможность регулярного обновления, чтобы минимизировать кошмар обновления, который я только что прошел.
Ответ 2
Просто измените путь к проекту, для которого вы хотите обновить собственную версию реагирования, а затем выполните следующую команду:
react-native upgrade
и после выполнения этой команды вы увидите несколько вопросов. Введите n, чтобы отменить изменения в этом файле, или введите y, если вы хотите изменить этот файл.
Он автоматически установит последнюю версиюact-native для вашего проекта.
Больше информации на:
https://facebook.github.io/react-native/docs/upgrading
ИЛИ
Вы можете обновить собственную версию реагирования следующим простым шагом:
1- Просто зайдите в файл package.json вашего проекта
2- После этого ищите эти строки
"dependencies": {
"react-native": "0.57.8",
}
3- Измените собственную версию реагирования на любую версию, до которой вы хотите обновить в "dependencies"
.
4- После этого запустите npm install
и отреагируйте собственная версия будет обновлена для вашего проекта.
Ответ 3
Я рекомендую посетить эту страницу: https://github.com/react-native-community/rn-diff-purge
потому что вы можете увидеть список того, что именно меняется в каждой версии. Я считаю, что проще вручную изменить настройки конфигурации после запуска из вашей версии, которая, как было доказано, работает должным образом через react-native run-android
и react-native run-ios
.
Это звучит как ужасная задача, но вашим пальцам или мозгу не очень сложно убрать красные линии и добавить зеленые линии - по крайней мере, по сравнению с альтернативами, такими как Googling, для сортировки ужасных сообщений об ошибках в системах сборки Android/iOS.
Я также считаю, что было бы неплохо вручную изменить настройки конфигурации, например, с 0,44 до 0,59, потому что вы получаете больше возможностей точно увидеть, что меняется в каждой версии. Вы увидите, что изменения являются разумными и, как правило, имеют отношение к развитию автоматизации в будущем и повышению надежности сборочных систем и отвращению к поломкам.
Кроме того, в RN 0.59 были внесены изменения, которые делают react-native upgrade
лучше, и в дополнение к моему дополнительному заявлению, весь выпуск 0.59 довольно масштабный и важный для будущего: http://facebook.github.io/react-native/blog/#upgrading-to-059
Я даже не буду говорить о react-native upgrade
или react-native-git-upgrade
, потому что нахожу их источником кошмаров, особенно если вы попадаете в react-native unlink
и react-native link
.
Ответ 4
Вы можете обновиться до последней версии напрямую, я бы рекомендовал сделать это с реакцией-native-git-upgrade, но будьте внимательны и читайте примечания к выпуску обновлений до тех версий, у которых есть некоторые замечания о том, что вам следует сделать вручную, что обновление не будет. Вы можете найти заметки здесь: https://github.com/facebook/react-native/releases
Примечания, как правило, находятся на вершине в журналах изменений, я знаю, что в последних выпусках были некоторые из них, и они дали мне некоторую работу по обновлению с 0.54 в последнее время, так что имейте в виду.
Ответ 5
Вам потребуется @реагировать-нативно-сообщество /cli, чтобы обновить до последней версии реагировать-нативно, к сожалению, нигде не упоминается.
npm install -g @react-native-community/cli
Установите реактивный -g it-upgrade
npm install -g реактивный -g it-upgrade
Теперь перейдите к своему проекту.
cd your-response-native-project
Теперь вы можете запустить команду обновления.
реактивное обновление
Ответ 6
Я бы порекомендовал использовать этот инструмент (помощник по обновлению), который позволяет сравнивать текущую и исходную версию реакции.
Кроме того, полезно регулярно обновлять реактивную версию, чтобы быть в курсе последних версий и упростить процесс обновления.
https://react-native-community.github.io/upgrade-helper/
Ответ 7
react-native upgrade
npm i [email protected]{{VERSION}}
npm i [email protected]{{VERSION}}
[React Native 0.60 includes Cocoapods integration by default, AndroidX
support, auto-linking libraries, a brand new Start screen and more.
Official blog post about the major changes on React Native 0.60
React Native 0.60 changelog
][1]
[1]: https://facebook.github.io/react-native/docs/upgrading