多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
> 今天把react native环境搭建完成,然后运行个小demo试试.  > [第一篇环境配置 & Hello World](http://vczero.github.io/react_native/%E7%AC%AC1%E7%AF%87hello%20react-native.html) # 总结 按照上面的学习文章,我基本完成,但是在配置过程中遇到2个问题,需要终结一下。 ## 已安装node 由于我安装react-native之前已经安装过node,我们执行的话会报错,这个错误就是因为react-native使用的是io.js,这个时候我们需要安装io.js,而你必须删除node,我按照教程上的解答使用了`brew unlink node`,来删除对node的引用,然后安装iojs,但是在使用`sudo brew link iojs --force`会报错: ~~~ 58deMacBook-Pro:react-native wuxian$ sudo brew link iojs --force Linking /usr/local/Cellar/iojs/2.5.0... Error: Could not symlink bin/node Target /usr/local/bin/node already exists. You may want to remove it: rm '/usr/local/bin/node' To force the link and overwrite all conflicting files: brew link --overwrite iojs To list all files that would be deleted: brew link --overwrite --dry-run iojs ~~~ ## 解决方法 这个时候我们要使用`sudo brew link --overwrite iojs --force`来用iojs覆盖node.js。 ## 空指针的错误 我初始化一个Helloworld项目后,会报错,报一个空指针的错误 ~~~ NSURLSessionDownloadTask *task = [_URLSession downloadTaskWithURL:url completionHandler:nil]; ~~~ ![](https://box.kancloud.cn/2016-01-07_568e13ecd9ce3.jpg) 我改成了一个空的实现: ~~~ NSURLSessionDownloadTask *task = [_URLSession downloadTaskWithURL:url completionHandler:^(NSURL *location, NSURLResponse *response, NSError *error){ }]; ~~~ 程序就运行成功了。 ![](https://box.kancloud.cn/2016-01-07_568e13ed01019.jpg) 后来我在github上找到问题的另外一种[解决方案](https://github.com/facebook/react-native/issues/2117) 就是删掉方法的 `completionHandler:nil`后变为如下形式就正确了: ~~~ NSURLSessionDownloadTask *task = [_URLSession downloadTaskWithURL:url]; ~~~