React Native iOS模拟器运行报错:Ambiguous resolution问题求助
解决React Native iOS模拟器红屏的Ambiguous resolution错误
这个模块解析歧义的问题我之前调试RN项目时也碰到过,大概率是构建缓存残留、重复安装依赖或者链接配置出了问题,试试下面这几步来修复:
清理iOS构建目录与缓存
首先进入项目的ios文件夹,彻底删除旧的build文件,同时清理Xcode的构建缓存:cd ios rm -rf build/ xcodebuild clean如果你习惯用Xcode操作,也可以打开项目后按下
Cmd+Shift+K(或者点击Product->Clean Build Folder),确保把Xcode的Derived Data也清理干净。重置Node依赖与Metro缓存
回到项目根目录,删除现有的node_modules,重新安装依赖,同时重置Metro的缓存(这一步能解决很多模块解析的奇怪问题):cd .. rm -rf node_modules npm install # 如果你用yarn的话就换成yarn install npx react-native start --reset-cache检查react-native-vector-icons的安装与链接
有时候重复安装依赖或者自动链接异常也会导致这个问题:- 确认你没有在项目里多次执行安装命令(比如不小心在ios目录下也装了一次)
- 检查ios/Podfile,确保里面正确引入了该依赖(RN 0.60+版本应该自动链接,但可以确认一下):
pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'
然后在ios目录下重新执行pod安装:
cd ios pod install --repo-update重启模拟器与Metro服务
最后关闭当前运行的iOS模拟器,杀掉终端里的Metro进程,重新启动项目:npx react-native run-ios
如果以上步骤都试过还是不行,可以检查项目里有没有意外复制了react-native-vector-icons的文件到非node_modules的目录下,比如build文件夹外的其他位置,找到后删除即可。
内容的提问来源于stack exchange,提问作者Attila
相关产品推荐
相关产品推荐

