我正在尝试从本机0.55.4更新到本机0.58.4。
我面临的问题是我的应用程序无法连接到Metro Bundle。 尽管adb反向,仿真器以及物理设备都无法连接到它。 我可以在设备的Chrome浏览器中很好地打开该URL,但该应用无法连接到它。
我已遵循变更日志中的更新通知,生成了以下package.json:
"dependencies": {
"react": "16.6.3",
"react-native": "0.58.4"
},
"devDependencies": {
"babel-core": "7.0.0-bridge.0",
"babel-jest": "24.1.0",
"jest": "24.1.0",
"metro-react-native-babel-preset": "0.51.1",
"react-test-renderer": "16.6.3"
},
"jest": {
"preset": "react-native"
}
我遗漏了不重要的包裹。
我也将.babelrc文件更改为:
{
"presets": ["module:metro-react-native-babel-preset"]
}
环境信息:
React Native Environment Info:
System:
OS: Windows 10
CPU: (8) x64 Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
Memory: 3.21 GB / 15.93 GB
Binaries:
Yarn: 1.7.0 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.1.0 - C:\Program Files\nodejs\npm.CMD
IDEs:
Android Studio: Version 3.3.0.0 AI-182.5107.16.33.5264788
任何帮助将不胜感激。
答案 0 :(得分:1)
仅升级package.json
不足以升级react-native
应用程序。在升级过程完成之前,必须对其他文件进行其他更改。
一个好的开始是查看0.55.4
和0.58.4
中的代码之间的差异。您可以通过查看rn-diff-purge
上的git diff来找到这些更改。如果您看下面的链接,您会发现除了package.json
中的更改之外,还有很多更改。
https://github.com/pvinis/rn-diff-purge/compare/version/0.55.4...version/0.58.4
其中一些更改将是多余的,实际上可能不会影响应用程序的运行,其他更改将非常重要,必须执行。不幸的是,git diff并没有告诉我们我们必须做些什么,而我们可能错过了它,只是告诉我们区别。我的建议是进行建议的所有更改。
先查看应用程序的原始版本,然后再移动到原始版本,这也可能会有所帮助。您可以使用以下代码在特定版本中创建本机应用程序:
react-native init newproject --version react-native@0.55.4
如果查看官方升级文档,它会显示:
某些升级需要手动操作,例如0.28至0.29或0.56至 0.57。升级时一定要检查release notes,以便您可以识别特定项目可能需要的任何手动更改。
https://facebook.github.io/react-native/docs/upgrading#manual-upgrades
因此,有必要查看发行说明中必须进行的任何特定更改。
最坏的情况是,使用0.58.4
创建一个新的工作应用,复制您的JavaScript代码,安装并链接您的依赖项,然后从那里开始。
祝您好运,这可能会有些棘手,但耐心等待,您会到达那里。