1.由于之前接入的RN版本是0.37.0,是一个非常老的版本,但是目前最新的RN的版本已经是0.51了,所以今天要把老版本RN升级上来,不过中途遇到了一些问题,慢慢解决!
一、升级前,如果你没有对原生RN有修改,那么可以先删掉node_modules整个文件夹
二、更新package.json文件,下面我自己修改后的:
"dependencies": {
"react":"16.2.0",
"react-native":“^0.50.3",
"react-native-code-push":"^2.0.2-beta",
"react-native-update":"^4.0.4"
},
"devDependencies": {
"babel-preset-react-native":"^4.0.0",
"single-line-log":"^1.1.2"
}
三、进入根目录,执行npm install命令,安装最新包;当然依赖多的话也可以逐个更新
可以先使用npm uninstall react -D 卸载react,然后在安装最新的react,同样的RN更新也可以
四、如果没有报错,那就更新成功了,这时候需要去工程修改对ReactNative的引用了,如果没有使用pod来管理的话,直接拷贝对应的文件到自己工程目录就好了,下面说的是使用pod管理的方法
直接执行pod install 或者pod update
提示需要使用yoga了,好,那就去podfile文件修改:
#yoga必须小写,要不然在引入的时候回报错
pod'yoga', :path =>'./node_modules/react-native/ReactCommon/yoga'
pod'React', :path =>'./node_modules/react-native', :subspecs => [
'Core',
'RCTActionSheet',
'RCTImage',
'RCTNetwork',
'RCTPushNotification',
'RCTText',
'RCTWebSocket'
]
注意上面的yoga提示哟,要不然会pod引入不成功的
OK,修改完后在执行更新或者install,解决问题!