运行 pod 设置给我 "bad interpreter: No such file or directory" 错误

Running pod setup gives me "bad interpreter: No such file or directory" error

最近我尝试做 pod setup 但我得到了这个错误:

-bash: /usr/local/bin/pod: /usr/local/opt/ruby/bin/ruby: bad interpreter: No such file or directory

我按照 Ray Wenderlich 的指南安装了 CocoaPods,但遇到了这个问题,所以我不知道发生了什么。

我通过 运行 brew install ruby

修复了它

我在升级到 Mac OS High Sierra 时遇到了这个问题。

这是我的修复:

sudo gem install cocoapods

我在 the CocoaPods issue list on Github 上找到了这个答案。

当我再次尝试安装时,我收到另一个错误提示

ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.

然后我做了这个并且工作得很好。

sudo gem uninstall cocoapods

sudo gem install cocoapods

升级到High Sierra后,出现同样的错误,只是重新安装了cocoapods

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

在我的 mac 这解决了问题:

brew uninstall cocoapods

brew install cocoapods

固定为

brew upgrade cocoapods
brew link --overwrite cocoapods

This line saved my day.

我将系统从 Sierra 更新到 Mojave. 时遇到的同样问题也适用于 Catalina

以下步骤有效:

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

我得到以下link的帮助。

在我的例子中,以上方法均无效。我安装了 ruby 2.3.0,我不得不降级到 2.0.0:

gem update --system 2.0.0

这发生在我升级到 Catalina 时。 我通过 运行:

解决了
sudo gem install -n /usr/local/bin ruby
sudo gem install -n /usr/local/bin cocoapods

从 OS X Mojave 升级到 OS X Catalina 后,我在 运行 pod initpod --version 时收到此消息: -bash: /Users/mangolassi/.gem/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: bad interpreter: No such file or directory

我不喜欢 sudo gem install cocoapods 的想法,所以我在我的用户目录中有我的 .cocoapods 文件夹,并且我修改了我的 .bash_profile 以指向它。我收到的错误是因为版本 2.3 是硬编码在此文件中的: /Users/eric/.gem/bin/pod 和 Catalina 带来了 2.6。

使用 sudo install 可能会成功覆盖此文件,而且可能会成功,但我想保留原始设置。

我能够只修改文件 /Users/eric/.gem/bin/pod 的第一行 shebang 使其具有 2.6 而不是 2.3 的路径并且它起作用了。整个变化是在我追逐中将“3”更改为“6”,因为版本仍然是“2”。

"rubyist approved" 方法是安装 ruby 版本管理器 (rbenv) 并通过它安装 cocoapods。弄乱 sudo 和你的 ruby 宝石会导致眼泪。

以下对我有用:

Select Command Line Tools in XCode.

    XCode > Preferences > Locations > Command Line Tools > XCode 11.X.X

In terminal execute:

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

MACOS X Catalina

尝试了大部分答案,但 none 有效。如果以上方法不起作用,请尝试打开 Xcode 首选项 > 位置 > 选择命令行工具到 Xcode。然后安装cocoapods

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

原来post中的错误是由于Ruby环境配置不当造成的。您 should never use sudo to install gems,无论您在 Stack Overflow 上将其视为可接受的答案多少次。

在高层次上,在 Mac 上设置适当的 Ruby 开发环境涉及六个步骤:

  1. 安装 Homebrew(同时安装必备的 Apple 命令行工具)
  2. 安装 Ruby 管理器(例如 chruby、rbenv、asdf、RVM)- 其中大部分可以使用 Homebrew 安装
  3. 通过将适当的行添加到您的 shell 文件(~/.bash_profile~/.zshrc)来配置 Ruby 管理器 - 每个管理器都会有执行此操作的说明,并且这是人们错过的典型步骤
  4. 重新启动终端(或打开一个新选项卡)以使 shell 更改生效 - 另一个经常被忽视的步骤
  5. 使用 Ruby 管理器
  6. 安装特定版本的 Ruby
  7. 使用 Ruby 管理器
  8. 切换到 Ruby 的那个版本

我个人的偏好是chruby with ruby-install。有关更多详细信息和可以自动执行整个过程的脚本,请在此处查看我的回答:

正如接受的答案提到的,您也可以使用 Homebrew 安装 Ruby,但您还需要确保在 shell 文件中设置您的 PATH。相关说明在我上面链接的答案中。

找到 pod 文件。我的位于 usr/local/bin/pod

您会发现第一行显示的是版本 2.3。将此文件编辑为正确的版本号。保存原件的副本,以防你搞砸了。

再次尝试与 pod 相关的命令。

经过几天的尝试,对我有用。

我在尝试升级 cocoa pods 版本时遇到了类似的问题:

brew upgrade cocoapods

为了解决这个问题,cocopaods 必须使用下面的命令 linked with xcodeproj:

brew link cocoapods

如果 linking 失败,那么您应该能够 link 通过覆盖以前存在的 link 如下:

brew link --overwrite cocoapods

vi 吊舱 然后将 ruby 路径 2.3 替换为您通过使用获得的路径 终端中的 which ruby 命令 然后做 pod setup 它会工作 在尝试了所有列出的解决方案后,这对我有用。