无法在macOS Monterey 12.0 Beta - Xcode 13.0(13A233)中安装Cocoapods

9

无法在MacOS 12.0 Beta和Xcode版本13.0中安装Cocoapods。

以下是使用sudo gem install cocoapods命令时的终端输出。

userName@users-Mac-mini ~ % sudo gem install cocoapods Password: 构建本地扩展,这可能需要一段时间... 错误:安装Cocoapods时出错: 错误:无法构建宝石本地扩展。

当前目录:/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.4/ext/ffi_c /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /Library/Ruby/Site/2.6.0 -r ./siteconf20211006-2973-16tlcws.rb extconf.rb *** extconf.rb失败 *** 由于某些原因(可能是缺少必要的库和/或头文件),无法创建Makefile,请查看mkmf.log文件获取更多详细信息。您可能需要配置选项。

提供的配置选项包括: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/$(RUBY_BASE_NAME) --with-ffi_c-dir --without-ffi_c-dir --with-ffi_c-include --without-ffi_c-include=${ffi_c-dir}/include --with-ffi_c-lib --without-ffi_c-lib=${ffi_c-dir}/lib --enable-system-libffi --disable-system-libffi --with-libffi-config --without-libffi-config --with-pkg-config --without-pkg-config /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:467:in try_do': 编译器无法生成可执行文件。(RuntimeError) 请先安装开发工具。 from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:546:in block in try_link0' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tmpdir.rb:93:in mktmpdir' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:543:in try_link0' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:570:in try_link' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:672:in try_ldflags' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1832:in pkg_config' from extconf.rb:9:in system_libffi_usable?' from extconf.rb:42:in `'

若要查看为何此扩展程序无法编译,请检查以下位置中的mkmf.log:

/Library/Ruby/Gems/2.6.0/extensions/universal-darwin-21/2.6.0/ffi-1.15.4/mkmf.log

extconf 失败,退出码为 1。

宝石文件将保留在 /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.4 用于检查。结果记录在 /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-21/2.6.0/ffi-1.15.4/gem_make.out 中。


请查看 mkmf.log 以了解此扩展未能编译的原因 ❗️ - Daniel
我已经检查过了,但不知道该怎么解决这个问题 :( /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:24:10: 致命错误:找不到 'ruby/config.h' 文件 #include "ruby/config.h" - Shree Softech
是的,我也尝试过安装/更新Ruby,但没有成功 :/ - Shree Softech
你找到解决这个问题的方法了吗?我在 Monterey 发布版本中也遇到了同样的问题。 - Sebastián Castro
不要将 gem 安装到系统 Ruby 中!请使用 rbenv。 - matt
显示剩余4条评论
5个回答

17

在我学习Udemy课程时,我遇到了同样的问题。当我浏览那里的问答部分时,我找到了这个小宝石 [没有双关语]。

sudo gem install -n /usr/local/bin cocoapods -v 1.8.4

这个方法非常成功,安装过程没有遇到任何问题。

但后来我意识到它是一个过时的版本,于是尝试了

sudo gem install cocoapods

我又尝试了一次,但问题仍旧存在。

后来我使用了Homebrew,并执行了以下操作:

brew install cocoapods

嘿……你知道吗,它能够工作。我安装了最新和最稳定的版本 [v 1.11.2_1]


cocoapods -v 1.8.4 这个版本可以使用,但是对于一些使用 SDK 2.0+ 的 Flutter 项目,需要更新 cocoapods 版本。 - Shree Softech
只有这一行对我起作用 - sudo gem install -n /usr/local/bin cocoapods -v 1.8.4 - Venu Gopal Tewari
在 macOS 12.6.2 Xcode 14.2 上工作 - 只需使用 brew install cocoapods。之后,最好更新 ~/.zshrc 文件,添加以下内容: if [ -d "/usr/local/opt/ruby/bin" ]; then export PATH=/usr/local/opt/ruby/bin:$PATH export PATH=gem environment gemdir/bin:$PATH fi - atlascoder

10
如果您使用 gem 安装了 cococoapods,请卸载它:
gem uninstall cocoapods

然后使用Homebrew安装它

brew install cocoapods

这个方法对我有效。


4

我有一台搭载M1芯片的MacBook Pro,可以通过运行以下命令来使其工作。

sudo arch -x86_64 gem install ffi
cd ios
arch -x86_64 pod install

谢谢您,但问题出在英特尔芯片而不是M1芯片上,先生。 - Shree Softech
1
这解决了我在更新到 Monterey 系统后在 M1 上遇到的问题。谢谢。 - Roman

1
在我的情况下,这是因为使用了较旧版本的Xcode作为命令行工具(Xcode 12.5.1)引起的。您可以通过在终端中运行以下命令来查看正在使用哪个Xcode: $ xcode-select --print-path
macOS Monterey不支持13.0之前的Xcode版本,因此我不得不使用以下命令切换Xcode版本: $ sudo xcode-select -switch <path/to/Xcode13>Xcode.app 将命令行工具切换到Xcode 13后,我成功安装了CocoaPods。 xcode-select switch 命令来源

这对我有用,我认为这是正确的答案。这也可以直接从Xcode的UI @首选项->位置->命令行工具中设置。 - Matias Pequeno

-1

对我来说,HomeBrew解决了这个问题。通过HomeBrew卸载了cocoapods并重新安装。如果仍然存在问题,请尝试首先安装ffi库,这也可能有所帮助。

顺便说一句,我的情况是Monterey 12.0.1而不是beta版,但应该是相同的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接