安装cocoapods
时碰到一个报错。
sudo gem install cocoapods
ERROR: Error installing cocoapods:
ERROR: Failed to build gem native extension.
...
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.
出现这种情况,大概率是我电脑 ruby
的版本太低了,导致不能安装最新的CocoaPods
。
Olivers-MMP:~ guozh$ ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin20]
那不安装最新 CocoaPods
,指定一个低版本是否可行呢?参考 Mac Flutter环境配置 — CocoaPods not installed解决方案。
sudo gem install cocoapods -v 1.8.4
使用如上命令确实安装成功了,但在 Flutter 中启动 Xcode 就会报错,启动失败。
Warning: CocoaPods minimum required version 1.9.0 or greater not installed. Skipping pod install.
根据以上,提醒我们需要一个至少 1.9 版本的 CocoaPods
,那我卸载然后继续安装 1.9
版本是否就可以了呢?
# 卸载
sudo gem uninstall cocoapods
sudo gem install cocoapods -v 1.9.4
我尝试后,发现又安装失败。所以现在的情况就只有一个办法,升级 ruby
。
Olivers-MMP:~ guozh$ ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin20]
Olivers-MMP:~ guozh$ which ruby
/usr/bin/ruby
使用 homebrew
安装新版本 ruby
。
brew install ruby
安装后会提醒如下
ruby is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.
If you need to have ruby first in your PATH, run:
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> /Users/guozh/.bash_profile
For 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"
大概是建议我们配置新安装ruby
的环境变量,不用多想,按照提示来(不要复制如下路径,复制你终端提示的命令)
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> /Users/**/.bash_profile
export LDFLAGS="-L/usr/local/opt/ruby/lib"
export CPPFLAGS="-I/usr/local/opt/ruby/include"
export PKG_CONFIG_PATH="/usr/local/opt/ruby/lib/pkgconfig"
source /Users/**/.bash_profile
再查看 ruby
版本,已经是新版本了。
Olivers-MMP:~ root# ruby -v
ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-darwin20]
Olivers-MMP:~ root# which ruby
/usr/local/opt/ruby/bin/ruby
OK,再安装 cocoapods
,如果之前有安装记得先卸载(卸载命令上面有)。
sudo gem install cocoapods
如果上面安装后运行项目还提醒没有安装 cocoapods not installing,那就这样做
sudo gem uninstall cocoapods sudo gem install -n /usr/local/bin cocoapods
希望以上内容能帮到你。
本文由老郭种树原创,转载请注明:https://guozh.net/error-installing-cocoapods/