错误原因
在项目的issues中查看了很多信息,究其原因,无非就是官方提供的boost_1_63_0.tar.gz
有问题,通过yarn
或npm
下载到的包才12MB
左右,而正常的包大小有93MB
左右。
网上能找到大部分都是直接下载正确的boost_1_63_0.tar.gz
覆盖~/.rncache/boost_1_63_0.tar.gz
,然后再react-native run-ios
。
我可以很负责任的告诉大家,这样根本不!好!使!为什么呢,因为react-native
的第三方库的安装脚本中有对这些包做hash
校验,具体的可以看看这里的内容:node_modules/react-native/scripts/ios-install-third-party.sh
解决办法
第一步
首先把你项目中的node_modules
文件夹删除
再执行yarn
或npm install
会根据package.json
里的配置进行下载
第二步
下载正确的boost_1_63_0.tar.gz
覆盖~/.rncache/boost_1_63_0.tar.gz
,下载地址在这里boost_1_63_0.tar.gz(93MB)
第三步
使用shasum
跑出~/.rncache/boost_1_63_0.tar.gz
的hash
字符串备用
shasum ~/.rncache/boost_1_63_0.tar.gz
f8e4d5aeaa65f429f4135b037d3c3528be5ebf77 /Users/erniu/.rncache/boost_1_63_0.tar.gz
第四步
打开项目中的node_modules/react-native/scripts/ios-install-third-party.sh
,替换boost_1_63_0.tar.gz
的hash
串为你第三步中得到的hash
串。即替换下面第三个的链接末尾的那串字符
fetch_and_unpack glog-0.3.4.tar.gz https://github.com/google/glog/archive/v0.3.4.tar.gz 69f91cd5a1de35ead0bc4103ea87294b0206a456 "\"$SCRIPTDIR/ios-configure-glog.sh\""
fetch_and_unpack double-conversion-1.1.5.tar.gz https://github.com/google/double-conversion/archive/v1.1.5.tar.gz 96a8aba1b4ce7d4a7a3c123be26c379c2fed1def
fetch_and_unpack boost_1_63_0.tar.gz https://github.com/react-native-community/boost-for-react-native/releases/download/v1.63.0-0/boost_1_63_0.tar.gz f8e4d5aeaa65f429f4135b037d3c3528be5ebf77
fetch_and_unpack folly-2016.09.26.00.tar.gz https://github.com/facebook/folly/archive/v2016.09.26.00.tar.gz f3b928b5039235bad6cece638c597c6684d1e4e6
第五步
react-native run-ios
如果用上面这个命令还是不行,那再重复几次,应该就可以了
参考 木匠出身
网友评论