我有一个在本地0.49.3上运行的应用程序,我想升级到v0.57.4的最新版本。
我应该逐步更新吗?例如0.49-> 0.50-> 0.51等还是可以将其更新到最新版本?
您是否建议使用react-native-git-upgrade或rn-diff?
我的建议是升级到最新版本。无论如何都会有足够的依赖性问题,因此您最好只处理一次。
从React Native升级页面(https://facebook.github.io/react-native/docs/upgrading)
您可以运行:
npm install -g react-native-git-upgrade
react-native-git-upgrade
更新:我以前从未遇到过升级问题,但是最近在一个项目中,我们从旧版本的React Native 0.44.3升级到了新版本(先升级到0.57.8,再升级到0.55.4,然后达到0.58.3(同时又努力保持稳定性),并发现它并不总是像运行这些命令那样容易。请注意,这可能是一个漫长而乏味的过程,尤其是如果您没有定期升级并且升级之间的间隔很长的话。在这个例子中,是18个月。
首先,升级过程本身(反应本机升级,现在改为react-native-git-upgrade)本身已经发生了变化。因此,如果您使用的是一年或更旧的版本,则可能需要手动进行一些差异。有些是在运行react-native-git-upgrade命令后拼写的,有些则不是。令我惊讶的是,Stack Overflow上的人员经历了看似无辜的升级过程中相同的未记录的循环问题。我没想到这一点。我会同意Facebook在6个月内不添加任何功能,并在继续之前简化升级过程。
其次,确保您的React Native版本使用正确的依赖项。升级工具的更高版本(react-native-git-upgrade)试图解决这个问题,但是请在https://github.com/react-native-community/react-native-releases/blob/master/CHANGELOG中仔细检查.md以查看您要升级到的RN版本是否需要特定的依赖性。有些会这样做,而有些则不会。
接下来,图书馆的需求是真实的,这取决于您的项目规模。在我们的案例中,0.44.3版本中正在使用的几个模块现在已被弃用或不再维护,甚至与更高版本的RN的工作方式不同。在开始此过程时,我认为这还不够。这导致几个实例的代码重写只是为了升级!kes!
同样,就像某些版本的React Native需要特定版本的依赖关系一样,其他模块也需要特定版本的某些依赖关系。更糟糕的是,有时这些是各种库的不兼容和冲突版本。节省一些时间并撰写一两个用户案例来解决这个问题。浏览您正在使用的每个模块,并查看其GitHub页面上是否有任何兼容性声明。一些自述文件会告诉您将其模块的某些版本与React Native的某些版本一起使用。其他人则不会,您稍后可能会发现有要求。但是即使经历了这个过程并预见到了问题,您稍后也会感谢自己。
一旦您保持最新状态并稳定下来,就可以考虑定期进行升级,以最大程度地减少我刚刚经历的升级梦night。
你需要@react-native-community/cli升级到最新版本的 react-native,遗憾的是没有在任何地方提及。
npm install -g @react-native-community/cli
安装 react-native-git-upgrade
npm install -g react-native-git-upgrade
现在转到您的项目。
cd your-react-native-project
现在您可以运行升级命令。
反应原生升级
只需更改要升级其本机版本的项目的路径,然后运行以下命令:
反应性升级
运行此命令后,您将看到一些问题。键入n以放弃对该文件的更改,或者如果要修改该文件,则键入y。它将自动为您的项目安装最新版本的react-native。有关更多信息,请访问:https : //facebook.github.io/react-native/docs/upgrading
要么
您可以通过以下简单步骤升级本地版本:
1-只需转到您项目的package.json文件
2-之后,寻找这些行
"dependencies": {
"react-native": "0.57.8",
}
Run Code Online (Sandbox Code Playgroud)
3-将本机版本更改为要升级到的任何版本"dependencies"。
4-在运行npm install和反应后,本机版本将为您的项目升级。
我建议使用这个工具(升级助手),它允许您比较当前的 React Native 版本和最新的 React Native 版本。
此外,经常升级 React-Native 是有好处的,这样可以保持最新版本并简化升级过程。
| 归档时间: |
|
| 查看次数: |
21033 次 |
| 最近记录: |