搭建 iOS-ReactNative开发环境踩坑记录

2,894 阅读1分钟

换了新Mac,重新搭建iOS端RN开发环境,遇到的一些坑,记录一下。

报错信息1:

[!] Invalid `Podfile` file: undefined method `[]' for nil:NilClass.

 #  from /Users/marcel/Projekte/WerBinIch/ios/Podfile:43
 #  -------------------------------------------
 #  
 >    use_native_modules!
 #  end
 #  -------------------------------------------

报错原因:因为在iOS工程里的Podfile文件中有use_native_modules!命令,使用npm安装rn库,link后会报上面的错误,使用yarn命令安装库就不会报上面的错误。

解决方案:不使用npm,使用yarn

报错信息2:

TypeError: null is not an object (evaluating '_RNGestureHandlerModule.default.Direction')

报错原因:先使用yarn安装package库,又使用npm安装特定的库,混个使用这两个安装命令,会导致部分库安装不正确,其中一个就是react-native-gesture-handler

解决方案:不混合使用,单独使用yarn命令。

报错信息3:

[!] No podspec found for 'GrowingReactNativeKit' in ./node_modules/react-native-growingio报错解决

报错原因:使用yarn添加react-native-growingio,但是github上有多个同名的库,导致安装到了不正确的库。

解决方案:指定库名和版本号。例如:yarn add https://github.com/growingio/react-native-growingio.git#0.0.7

报错信息4:

curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

报错原因:被墙

解决方案:DNS解析被墙,但可以直接使用ip地址,先查询raw.githubusercontent.com域名对应的ip地址,直接改本地hosts文件。教程:www.jianshu.com/p/c2e829027…

报错信息5

安卓端一直报错:

unrecognized operator abs

报错原因:react-native-reanimated库版本不对,使用的是^1.7.0

解决方案:将版本号前面的'^'去掉,也就是使用指定的版本即可1.7.0