CocoaPods在macOS High Sierra上无法工作。

164

升级到macOS High Sierra后,CocoaPods无法正常工作。虽然放弃CocoaPods似乎是一个不错的选择,但它目前不在范围内。下面是错误信息。

zsh: /Users/****/.gems/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin: no such file or directory

我意识到错误是由于Ruby升级引起的,但最简单的修复方法是什么?尝试使CocoaPods使用新的Ruby版本会产生其他错误。

编辑:目前我使用rvm install 2.0.0rvm use 2.0.0安装了Ruby 2.0,然后重新安装了CocoaPods sudo gem install cocoapods。看起来现在可以正常工作了。


你更新了命令行工具吗? - matt
@matt 是的,执行 sudo xcode-select -s /Applications/Xcode-beta.appsudo xcode-select --install 命令,然后按照 GUI 中的指示操作。 - Maciej Swic
我在考虑这里的工具:https://developer.apple.com/download/more/ 我经常发现外部工具在我安装这些工具之前无法正常工作。 - matt
25个回答

418

19
一个简单的"brew reinstall cocoapods"就可以解决问题(因为它会为您运行这个确切的命令)。感谢您指出这一点。 - Markus
虽然这个方法可以解决问题,但这明显是 CocoaPods 的问题,因为它无法找到更新的 Ruby 版本。重新安装可能只是再次检查安装情况,从而“修复”了问题。 - Hans Knöchel
gem install cocoapods会抛出“无法将nil隐式转换为字符串”错误,但是“brew reinstall cocoapods”可以解决问题。感谢@Markus。 - krishnan
我在Mojave上因为省略了 sudo 而遇到了这个问题,所以只需执行 gem install cocoapods 就可以解决。谢谢。 - brthornbury
也适用于macOS Catalina。 - oegpyg
显示剩余3条评论

120

升级到macOS High Sierra后,请使用以下命令来修复问题:

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

一旦完成后,然后编写下面的命令:

pod install

这个解决方案对我非常有效...!!!


1
当我运行第一个命令时,出现了“ERROR: While executing gem ... (Errno::EPERM) Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem”的错误提示,但是运行第二个命令仍然可以使“pod install”正常工作。谢谢。 - Bryce Sandlund
尽管有这个“警告”,我还是要在这里说声谢谢。这是唯一对我有效的方法。仅仅多次重新安装CocoaPods并没有任何效果,直到我完成了这两个步骤。所以,谢谢! - huygir
我必须通过以下命令运行Ruby更新: sudo gem update -n /usr/local/bin --system - Paul Popiel
对我有用(cocoapods 1.5.3)。 - atereshkov
在尝试了数百种其他提出的解决方案并花费了数小时之后,这个终于起作用了。我现在可以安全地说,我既爱又恨苹果/ Mac开发环境!谢谢。 - Arthur

30

我在安装CocoaPods时遇到了这个错误

ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.

我使用了这个语句。它起作用了!

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

1
这是唯一一个对我有效的解决方案。谢谢。 - Dan Beaulieu

12

这对我有用,虽然我不得不这样做

sudo gem install cocoapods

11

这解决了我的问题:

$ brew install ruby
$ gem install -n /usr/local/bin cocoapods

{btsdaf} - Mathieu VIALES
1
{btsdaf} - thibaut noah
@MathieuVIALES,“brew install ruby” 假设您已经安装了Homebrew包管理器(https://brew.sh)。该命令然后安装(或可能在技术上重新安装)ruby,因为您实际上需要ruby来安装Homebrew本身。下一行“gem install -n /usr/local/bin cocoapods”重新安装CocoaPods程序(更多信息请参见https://cocoapods.org)。 - Eddie Eddie Eddie

9

只需运行以下命令:

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

8
这对我有效:
brew link --overwrite cocoapods

6

我也遇到了这个问题,升级到High Sierra之后发现Ruby框架访问文件的位置发生了一些变化。

你可以使用以下方法解决:

sudo gem install cocoapods

同时为了安全起见,更新pods。

pod repo update 

最终,
pod install

让pod文件再次工作的方法。

希望这可以帮到你 :)


6
尝试使用

标签

sudo gem update --system

在翻译之前

sudo gem install cocoapods

这对我有用


6

Cocoapods 安装流程:

  1. sudo gem install cocoapods(如果遇到任何问题,请更新 gem 文件)

  2. sudo gem update --system

  3. sudo gem install cocoapods


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