运行pod设置给我“糟糕的解释器:没有这样的文件或目录”;错误

最近,我尝试执行pod setup,得到这个错误:

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

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

70764 次浏览

我通过运行brew install ruby来修复它

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

这是我的解决方案:

sudo gem install cocoapods

我在在Github上的CocoaPods问题列表上找到了这个答案。

当我尝试再次安装时,我得到了另一个错误

ERROR: While execution gem…(Gem:: FilePermissionError) 你没有写/Library/Ruby/Gems/2.3.0目录的权限

然后我这样做了,效果很好。

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

这句话拯救了我。

当我将系统从Sierra更新到Mojave.时,我也面临着同样的问题

以下步骤起作用了:

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

我得到了以下链接的帮助。

在我的案例中,上述任何一种方法都不起作用。我安装了ruby 2.3.0,我不得不降级到2.0.0:

gem update --system 2.0.0

这发生在我升级到卡特琳娜的时候。 我通过运行:

来解决它
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 < / p > 我不喜欢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”。

“ruby主义者认可的”方法是安装一个ruby版本管理器(rbenv),并通过它安装cocoapods。搞砸sudo和你的rubygems将导致眼泪。

下面的方法对我很有效:

在XCode中选择命令行工具。

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


In terminal execute:


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

https://stackoverflow.com/a/60464653 < a href = " https://stackoverflow.com/a/60464653 " > < / >

MACOS X Catalina

我试了大部分答案,但没有一个管用。如果上述方法无效,请尝试打开Xcode首选项>地点在选择命令行工具到Xcode。然后安装cocoapods

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

原始文章中的错误是由于配置不正确的Ruby环境造成的。你不应该使用sudo来安装宝石,无论你多少次看到它作为一个接受的答案在堆栈溢出。

基本上,在Mac上建立一个合适的Ruby开发环境包括六个步骤:

  1. 安装Homebrew(它也会安装必备的Apple命令行工具)
  2. 安装一个Ruby管理器(如chruby, rbenv, asdf, RVM) -其中大多数可以通过Homebrew安装
  3. 通过在你的shell文件(~/.bash_profile~/.zshrc)中添加适当的行来配置Ruby管理器——每个管理器都有这样做的说明,这是人们经常忽略的一个典型步骤
  4. 重新启动终端(或打开一个新选项卡)以使shell更改生效——这是另一个经常被忽视的步骤
  5. 使用Ruby管理器安装特定版本的Ruby
  6. 使用Ruby管理器切换到该版本的Ruby
我的个人偏好是chrubyruby-install。更多细节和脚本,可以自动化这整个过程,看看我的答案在这里: https://stackoverflow.com/a/54873916/928191 < / p >

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

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

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

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

我试了好几天,还是成功了。

当我尝试升级可可荚版本时,我遇到了类似的问题:

brew upgrade cocoapods

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

brew link cocoapods

如果链接失败,那么你应该能够通过覆盖之前存在的链接进行链接,如下所示:

brew link --overwrite cocoapods
< p > vi吊舱 然后将ruby路径2.3 1替换为你使用的路径 终端中的哪个ruby命令 然后做吊舱设置,它将工作 在尝试了所有列出的解决方案后,这对我来说很有效