环境
- 截至2021年1月26日
- 使用M1芯片Macbook Air
- 终端基本上使用arm64而不使用rosetta
-
接管本文,使Homebrew正确使用arm和intel,并使用homebrew安装rbenv
- 使用rbenv安装2.7.2并将其设置为global
- 在rbenv中的ruby中安装cocoapods
您遇到的问题
-
pod installl 不起作用。
→原因是本期中所说的
-
即使我尝试上述文章中的解决方案,也无法使用。
在文章中,卸载一次ffi,使用rosetta将终端切换到intel,然后说↓
sudo gem install ffi
日本参考文章→当CocoaPods无法在带有M1芯片的Mac(Apple Silicon)上运行时的对应
原因
- 原因是cocoapods的安装目标是使用rbenv安装的ruby。该问题有以下评论
对于使用带有rbenv的非系统ruby并遇到ffi问题的任何人-切换到系统ruby(至少在项目目录中位于本地)并按照上述步骤进行操作有助于我
解决方案
- 设置仅对使用xcode的目录使用系统ruby
- 终端是使用Rosetta的英特尔
-
安装用于系统ruby的椰壳
-
arch -x86_64 sudo gem install cocoapods
-
-
同时安装ffi
-
arch -x86_64 sudo gem install ffi
-
-
之后,如果您正常执行
pod install ,它应该可以工作。顺便说一句,使用intel完成上述过程后,当您执行pod install 时,它将与arm一起使用-
*加法(2021/02/05):毕竟,它不适用于手臂。在执行
pod install 时,如果像本文所述进行了设置,则需要使用switch-arch 切换到Intel。 -
顺便说一下,您可以通过执行
uname -m 来确定当前终端是arm还是intel
-
*加法(2021/02/05):毕竟,它不适用于手臂。在执行
印象数
- 为什么我放入rbenv的cocoapods不起作用?
似乎原因是库
→ffi不支持arm。由于rbenv支持arm,因此在
-将可可豆放入系统的ruby中感觉有点不舒服。如果您不想污染环境,那么我想尽可能地完成rbenv中的所有内容。
→大多数文章在操作吊舱时都使用
- 在开发iOS时忘记将ruby切换到系统