6

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

这是sudo gem install cocoapods的终端输出

userName@users-Mac-mini ~ % sudo gem install cocoapods 密码:构建原生扩展。这可能需要一段时间... 错误:安装 cocoapods 时出错:错误:无法构建 gem 原生扩展。

当前目录:/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 failed *** 由于某种原因无法创建 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-包括 --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': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. 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:在mktmpdir' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:543:in try_link0' 来自 /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' 来自 /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?来自 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

Gem 文件将继续安装在 /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

4

5 回答 5

8

我在学习 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]

于 2021-10-28T20:48:58.930 回答
5

如果您使用 gem 安装了 cococoapods,请将其卸载:

gem uninstall cocoapods

然后用自制软件安装

brew install cocoapods

它对我有用。

于 2021-11-16T21:13:44.050 回答
1

我有带有 M1 芯片的 MacBook Pro,它通过运行以下命令来工作

sudo arch -x86_64 gem install ffi
cd ios
arch -x86_64 pod install
于 2021-12-13T10:03:56.393 回答
0

在我的情况下,这是因为旧版本的 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 切换命令的源代码

于 2021-10-27T12:29:34.083 回答
-1

对我来说,是 HomeBrew 解决了这个问题。卸载 cocoapods 并通过 HomeBrew 再次安装。如果您仍然有问题,请尝试先安装 ffi 库,这也会有所帮助。

顺便说一句,就我而言,蒙特雷 12.0.1 不是测试版,但应该是同一个问题。

于 2021-10-28T13:43:33.893 回答