M1(Apple Silicon)上的CocoaPods出现故障,架构错误 [英] CocoaPods on M1 (Apple Silicon) fails with ffi wrong architecture

查看:35
本文介绍了M1(Apple Silicon)上的CocoaPods出现故障,架构错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

由于ffi问题,在M1 MacBook上运行‘pod install’失败,如here所述。

我遵循了一些解决方法(我想我以不同的顺序尝试了所有解决方法),但现在得到的错误略有不同:

LoadError - dlopen(/opt/homebrew/lib/ruby/gems/3.0.0/gems/ffi-1.15.0/lib/ffi_c.bundle, 9): no suitable image found.  Did find:
    /opt/homebrew/lib/ruby/gems/3.0.0/gems/ffi-1.15.0/lib/ffi_c.bundle: mach-o, but wrong architecture
    /opt/homebrew/lib/ruby/gems/3.0.0/gems/ffi-1.15.0/lib/ffi_c.bundle: mach-o, but wrong architecture - /opt/homebrew/lib/ruby/gems/3.0.0/gems/ffi-1.15.0/lib/ffi_c.bundle
那么,我现在似乎有了ffi,但是使用了错误的体系结构?我怎么才能解决这个问题呢?在以Rosetta模式运行终端的情况下/在不运行终端的情况下,都会发生这种情况。

顺便说一句,其中一个建议的解决方法对我来说没有成功。当我尝试时:

sudo arch -x86_64 gem install ffi

我得到:

arch: posix_spawnp: gem: Bad CPU type in executable

不确定这是否相关。

推荐答案

回答我自己的问题。我通过卸载出错的Ruby版本和CocoaPods修复了FFI问题,然后使用-x86_64 Arch重新安装了FFI和CocoaPods。

以下是我返回到工作状态(并为FFI应用M1变通方法)所执行的步骤:

  1. 卸载Ruby的方式:brew uninstall ruby --force

  2. 卸载CocoaPods。首先,尝试使用gem list --local | grep cocoapods列出所有CocoaPods版本/组件。然后逐个卸载,我的例子是:

sudo gem uninstall cocoapods

sudo gem uninstall cocoapods-core

sudo gem uninstall cocoapods-downloader

  1. 下一步,我可以使用以下命令重新安装ffi和CocoaPods:

sudo arch -x86_64 gem install ffi

sudo arch -x86_64 gem install cocoapods

一旦完成,我就可以按预期运行pod install。请注意,我一直在标准模式下打开终端-不需要Rosetta。

这篇关于M1(Apple Silicon)上的CocoaPods出现故障,架构错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆