无法在终端 macOS 10.15.7 上安装 cocoapods

Posted

技术标签:

【中文标题】无法在终端 macOS 10.15.7 上安装 cocoapods【英文标题】:cannot install cocoapods on terminal macOS 10.15.7 【发布时间】:2021-03-15 01:27:09 【问题描述】:

当我像这样在终端上输入时:

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

它向我显示这样的错误:

Building native extensions. This could take a while...

错误:安装 cocoapods 时出错: 错误:无法构建 gem 原生扩展。

current directory: /Library/Ruby/Gems/2.6.0/gems/ffi-1.13.1/ext/ffi_c

/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /Library/Ruby/Site/2.6.0 -r ./siteconf20201203-2632-pfzsbj.rb extconf.rb 检查 ffi.h... *** 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 --没有-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': 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:585:in block in try_compile' 来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:534:in with_werror' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:585:in try_compile' 来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1109:in block in have_header' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:959:in block in checks_for' 来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in block (2 levels) in postpone' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in open' 来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in block in postpone' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in open' 来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:357:in postpone' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:958:in checking_for' 来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1108:in have_header' from extconf.rb:10:in system_libffi_usable? 来自 extconf.rb:42:in `'

要查看此扩展无法编译的原因,请查看 mkmf.log,可在此处找到:

/Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/ffi-1.13.1/mkmf.log

extconf 失败,退出代码 1

Gem 文件将继续安装在 /Library/Ruby/Gems/2.6.0/gems/ffi-1.13.1 中以供检查。 结果记录到 /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/ffi-1.13.1/gem_make.out

之后我尝试输入:

pod setup --verbose

它显示如下错误:

-bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: bad interpreter: No such file or directory

请帮助我并解决此问题,以便我可以像升级到 MacOS Catalina 10.15.7 之前一样使用 cocoapods

【问题讨论】:

您正在使用系统 ruby​​。馊主意。安装 rbenv 并控制你的 ruby​​。还要确保正确设置 Xcode-select 和命令行工具。有关完整说明,请参阅我的 biteinteractive.com/how-to-get-started-with-pods。 @matt,你的文章是正确的 【参考方案1】:

我建议您在收到此错误时使用 homebrew 安装 CocoaPods。

如果你还没有,运行:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

然后你可以安装 CocoaPods:

brew install cocoapods

【讨论】:

以上是关于无法在终端 macOS 10.15.7 上安装 cocoapods的主要内容,如果未能解决你的问题,请参考以下文章

MacOS Catalina 10.15.7 AudioUnit 麦克风通知回调未调用

无法在 MacOS 上安装 TypeScript - 终端错误

无法在 macOS 上扫描 iBeacons

在 Mac OS Catalina (10.15.7) 上安装 cocoapods 时出错

黑苹果原版镜像macOS Catalina 10.15.7 with OC 0.6.1 & Clover r5122 & PE

lua在MacOS系统上的安装方法