如何进行RreactNative的版本升级

官方提供的升级工具: https://react-native-community.github.io/upgrade-helper/?from=0.58.4&to=0.62.0

需要翻墙访问,也有离线版本。

打开网页就可以看到开头的提示信息:选择要升级的目标版本。

查询本地RN版本指令:yarn react-native --version

选择好要升级的版本后,点击下面的『show…』按钮,就可以看到要升级的对比文件了。

只要耐心修改就行了,我是分开修改,先修改iOS相关文件,等到iOS能成功运行后再去修改android相关的文件.


iOS工程修改时,我觉得需要注意的地方:

  1. ios/RnDiffApp.xcworkspace/contents.xcworkspacedata 是使用pod install之后生成.xcworkspace后才会自动生成的,所以如果你的工程项目内没有这个文件,等执行pod install之后再回来修改(实际上自动生成后的文件内容和对比文件是一致的)。

  2. ios/RnDiffApp.xcodeproj/project.pbxproj 不需要修改,至少我升级的时候是不需要的,它在你项目运行的时候会自动修改,官方给出了提示:https://github.com/react-native-community/upgrade-support/issues/14

  3. 诸如 ios/RnDiffApp-tvOS/Info.plist、ios/RnDiffAppTests/RnDiffAppTests.m这些文件实际上也可以不修改,当然前提是你没有使用到这些文件,同理,在pod file里面也可以注释掉target是RnDiffApp-tvOS的内容

  4. 不需要安装flipper相关的第三方库(pod file 里面可以注释掉相关内容),appdelega.m里面flipper相关的代码也可以不添加。当然,你想要加也是可以的,但我没加。

  5. 如果是0.60.0之前的版本升级到0.60以上的版本,当项目安装了很多依赖,也就是package.json里面有很多dependencies,那么可以先将这些依赖删除掉( yarn remove xxx),在删除这些依赖后也需要运行pod instal删除iOS工程项目的关联,也可以手动移出这些关联;package.json只添加对比文件中需要你添加的依赖,在项目成功安装后,在把依赖一个个添加回去。

  6. 如果出现类似 :‘React/RCTViewManager.h’ file not found的错误提示,可以通过rm -rf node_modules && rm package-lock.json 删除依赖文件,在xcode里面执行product>clean build folder,关闭xcode后运行npm install && react-native link重新安装依赖。

以上是我升级时候的操作,仅供参考,可能一些地方实际上不需要像我这样操作,比如第5点,这个就自己取舍。


修改android文件时,需要注意的地方:

  1. 同iOS一样,android/app/src/debug/java/com/rndiffapp/ReactNativeFlipper.java 文件可以不用添加

  2. 如果在修改的时候又添加了第三方,那么需要在iOS工程目录里面执行一遍: pod install

安卓就没有其他需要注意的,该替换的替换、该删除的删除、该修改的就修改,全部按照对比文件操作就行了。

以上全部就是升级时我觉得需要注意的地方,主要就是耐心,慢慢搞。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
错误信息"‘CClass’ object is not callable"表示你尝试将一个名为'CClass'的对象作为函数进行调用,但该对象不是可调用的。这通常是因为你错误地将对象当作函数使用导致的。 在错误的引用中,没有提供关于'CClass'的更多上下文信息,因此无法提供详细的修复方法。然而,通常情况下,你可以通过检查代码中的'CClass'的使用情况来找到错误的原因。 可能的修复方法包括: - 确保'CClass'对象已正确定义并正确实例化。你可能需要检查类的定义并确保它具有正确的初始化方法。 - 确保你没有意外地将'CClass'对象设置为其他类型的对象,例如将其设置为字符串或列表,而后尝试将其作为函数进行调用。 - 检查你的代码中是否存在其他与'CClass'相关的错误,例如拼写错误或语法错误。 如果以上方法仍然无法解决问题,请提供更多关于'CClass'对象的上下文信息,以便我能够提供更具体的帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【问题解决】TypeError: ‘CClass‘ object is not callable](https://blog.csdn.net/weixin_42200352/article/details/120939337)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Android Rreact Native 常见错误总结](https://download.csdn.net/download/weixin_38617851/14021996)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [TypeError: ‘RClass‘ object is not callable, TypeError: ‘CClass‘ object is not callable](https://blog.csdn.net/xdg15294969271/article/details/119496862)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值