换了新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
。