起因:今天用XCode跑项目的时候发现所有rn版本升到60以上的项目都跑不起来了。报错如下:
Loading dependency graph...2020-03-02 12:38 node[26849] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2020-03-02 12:38 node[26849] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2020-03-02 12:38 node[26849] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2020-03-02 12:38 node[26849] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2020-03-02 12:38 node[26849] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
events.js:183
throw er; // Unhandled 'error' event
1. 解决方案:
发生这个问题的原因网上的解释是:升级了mac系统之后,需要重新升级一次watchman。
解决的方法也很简单,直接:
brew install watchman
如果brew下载缓慢,可以考虑换源,方法如下:
# 步骤一
cd "$(brew --repo)"
git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
# 步骤二
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
#步骤三,这里会有点慢。如果很久没有update成功,直接跳过这一步好像也没有影响。
brew update
复原brew的下载源
cd "$(brew --repo)"
git remote set-url origin https://github.com/Homebrew/brew.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://github.com/Homebrew/homebrew-core
brew update
2. 安装watchman过程可能会踩的坑
1. brew自动安装python3的时候报错
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
...
Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks
解决方法:
报错是指创建连接的时候因为没有权限而发生意外错误。在报错信息里我们看到一个目录/usr/local/Frameworks,我们先去找一下这个目录:输入open /usr/local/Frameworks 发现确实没有这个文件夹。所以
#创建一个这个文件夹
sudo mkdir /usr/local/Frameworks
#解决权限问题
sudo chown $(whoami):admin /usr/local/Frameworks
#link brew
brew link python3
#检查是否成功, 成功打印信息则成功
brew info python3
2. Error: Xcode alone is not sufficient on Mojave.
原因是Mac最新场景下安装Xcode时已经没有Command Line了,需要单独安装。直接按它的提示安装就好了。执行
xcode-select --install
参考文章:
1. https://github.com/facebook/react-native/issues/9309
2. https://stackoverflow.com/questions/47460085/error-message-xcode-alone-is-not-sufficient-on-sierra
3. https://www.cnblogs.com/meng1314-shuai/p/9031686.html