错误:安装CocoaPods时出错:错误:无法构建本地扩展宝石。

314

我正在尝试在运行OSX 10.9.1(新的Mavericks)的MacBook Pro上安装CocoaPods,但在输入gem install cocoapods后,我遇到了以下错误:

    Building native extensions.  This could take a while...
ERROR:  Error installing cocoapods:
    ERROR: Failed to build gem native extension.

        "/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby" -rubygems /usr/local/rvm/gems/ruby-1.9.3-p194/gems/rake-10.1.1/bin/rake RUBYARCHDIR=/Users/rangreenberg/gems/gems/xcodeproj-0.14.1/ext RUBYLIBDIR=/Users/rangreenberg/gems/gems/xcodeproj-0.14.1/ext
/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
checking for -std=c99 option to compiler... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-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=/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby
/usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:491:in `block in try_compile'
    from /usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:443:in `with_werror'
    from /usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:491:in `try_compile'
    from extconf.rb:24:in `block in <main>'
    from /usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
    from /usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
    from /usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone'
    from /usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:280:in `postpone'
    from /usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for'
    from extconf.rb:23:in `<main>'
rake aborted!
Command failed with status (1): [/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/...]

Tasks: TOP => default => ext
(See full trace by running task with --trace)


Gem files will remain installed in /Users/rangreenberg/gems/gems/xcodeproj-0.14.1 for inspection.
Results logged to /Users/rangreenberg/gems/gems/xcodeproj-0.14.1/ext/xcodeproj/gem_make.out

`Try to switch ruby to homebrew version.brew install ruby brew link --overwrite rubyIf you need to have ruby first in your PATH run: echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profileFor compilers to find ruby you may need to set: export LDFLAGS="-L/usr/local/opt/ruby/lib" export CPPFLAGS="-I/usr/local/opt/ruby/include"For pkg-config to find ruby you may need to set: export PKG_CONFIG_PATH="/usr/local/opt/ruby/lib/pkgconfig"` - Muhammad Areeb
40个回答

0

我也遇到了同样的错误,可能是因为使用了旧版本的Ruby:

 ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin20]

以下是我使用的方法(适用于 macOS 11.5.2 Big Sur):

  1. 安装 GPG 密钥
curl -sSL https://rvm.io/mpapis.asc | gpg --import -
curl -sSL https://rvm.io/pkuczynski.asc | gpg --import -
curl -sSL https://rvm.io/mpapis.asc | gpg --import -
  1. 安装 nvm(并使用 nvm 安装新版本的 Ruby)
curl -sSL https://get.rvm.io | bash -s stable --ruby

这里是安装的版本:

 nvm --version
0.30.1

 ruby --version
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin20]

 which ruby
/Users/crifan/.rvm/rubies/ruby-3.0.0/bin/ruby

 gem --version
3.2.3

使用 gem 安装 CocoaPods。
sudo gem install cocoapods

已安装版本:

 which pod
/Users/crifan/.rvm/rubies/ruby-3.0.0/bin/pod
 pod --version
1.11.3

  • 注意

使用Homebrew安装CocoaPods:

brew install cocoapods

对我来说是可以的,但版本相对较旧:

~  pod --version
1.10.1

在开发过程中需要最新版本的CocoaPods,因此需要使用gem来安装最新的CocoaPods。


0
在尝试在Flutter应用程序中运行pod install时,出现了与初始化GoogleMaps相同的初始问题。 在iOS目录上运行pod install后出现以下错误:
zsh: /usr/local/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: no such file or directory

接下来,在运行sudo gem install cocoapods之后,会出现类似于ERROR: Error installing cocoapods: ERROR: Failed to build gem native extension的另一个错误。
ERROR:  Error installing cocoapods:
    ERROR: Failed to build gem native extension.

Kevin建议安装Xcode开发工具并运行:

xcode-select --install

在强调安装工具的必要性时,在运行pod install命令时,系统再次产生了与之前相同的错误。

接下来的目标是通过删除和重新安装来刷新工具。 使用以下命令删除工具:

rm -rf /Library/Developer/CommandLineTools

然后使用以下命令重新安装Xcode开发工具:

xcode-select --install

然后,sudo gem install cocoapodspod install 运行成功。

0

之前的解决方案都对我没用...

我的情况是在全新干净的macOS Catalina + XCODE上安装;

我必须先运行Xcode,然后再安装cocoa pods(在第一次运行时,Xcode会设置机器工具);

之后,cocoa pods就可以正常工作了。


0

你必须在终端中使用命令来安装命令行工具:

xcode-select --install

如果你收到了“无法安装软件,因为它目前不可从软件更新服务器获取”的消息,那么你必须从Apple网站手动下载命令行工具。


0

我的配置中有多个环境,这导致 rvm 干扰了安装。检测到 ruby 2.x 后,安装顺利进行。

我使用以下方式配置了环境: 1. xcode-select --install 2. rvm implode(注意 - 这样做可能过于激进,你可能不需要这么做,我没有使用旧版 ruby 安装,通过 rvm uninstall 逐个删除它们,然后使用 rvm implode) 3. gem install cocoapods

这次,最后一个命令成功运行而没有任何问题。


0

对于Mac Monterey 12.5,我遵循以下步骤可行:

1. sudo xcode-select --install
2. sudo xcode-select --reset

0
我遇到了同样的问题,Cocoapods没有安装,浪费了3到4个小时来解决这个错误,最后我找到了解决方案,
步骤1:打开终端并运行“brew reinstall ruby”, 终端将指导您如何导出路径 步骤2:然后运行“sudo gem install cocoapods”

0
问题出在Unity外面。你需要运行终端并输入以下命令:

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

这救了我的一天!


0

这应该将 Cask 和核心仓库都解除浅层克隆。

brew tap homebrew/cask

接着...

brew tap homebrew/core

-1

1. 更新Brew

brew update

2. 安装CocoaPods

brew install cocoapods


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