Cocoapods无法安装。

106
什么意思并且我该如何修复它:
pod install
/Library/Ruby/Site/2.0.0/rubygems.rb:250:in `find_spec_for_exe': can't find gem cocoapods (>= 0.a) (Gem::GemNotFoundException)
from /Library/Ruby/Site/2.0.0/rubygems.rb:278:in `activate_bin_path'
from /usr/local/bin/pod:22:in `<main>'

1
从此链接 https://cocoapods.org/app 下载 CocoaPods 应用程序,然后使用该应用程序打开您的 Podfile,并单击安装、更新和最后打开工作区文件。 - Meet
1
在我的情况下,我需要运行:bundle install - Dave
这里大多数答案都建议通过不同的方式重新安装 CocoaPods。这可能是问题所在,但如果这些解决方案不起作用,你的问题很可能是编译器使用了错误的 Ruby 版本。在这里阅读更多信息以及如何设置正确的版本:https://dev59.com/z1EG5IYBdhLWcg3wNGnZ#71643456 - turingtested
请参考这里的最新答案。 - Sweta Jain
19个回答

274

以下命令对我有效:

  1. sudo gem uninstall cocoapods
  2. sudo gem install -n /usr/local/bin cocoapods
  3. cocoapods pod install

如果在第2步遇到以下错误:

ERROR: While executing gem ... (Gem::CommandLineError) Please specify at least one gem name (e.g. gem build GEMNAME)

请使用以下内容代替第2步(无需执行第3步):

gem install -n /usr/local/bin cocoapods

3
gem install cocoapods 错误:在执行 gem ...时(Errno :: EPERM) 操作不允许 - /usr/bin/pod 我在尝试安装Cocoapods时遇到了这个错误。 - Nirav Hathi
@Jun 应该是 cocoapods - Sane
23
步骤1和2:sudo gem install -n /usr/local/bin cocoapods 对我来说可以成功安装cocoapods。 - Cons Bulaquena
5
2022年,我尝试了所有的命令,但都没有成功。而且,现在我还收到了回溯错误。这实际上让情况变得更糟。 - johnrubythecat
2
这种方法不再适用。 - Par
显示剩余2条评论

142
如果你和我一样使用 brew 安装 Cocoapods:
  1. 重新安装 Cocoapods:

    brew reinstall cocoapods
    

如果您在使用 brew reinstall 重新安装CocoaPods后看到此错误消息,请继续进行第二步。

>
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/pod
Target /usr/local/bin/pod
already exists. You may want to remove it:
  rm '/usr/local/bin/pod'

To force the link and overwrite all conflicting files:
  brew link --overwrite cocoapods

To list all files that would be deleted:
  brew link --overwrite --dry-run cocoapods

Possible conflicting files are:
/usr/local/bin/pod
/usr/local/bin/xcodeproj
  1. 解决冲突文件:

brew link --overwrite cocoapods

链接 /usr/local/Cellar/cocoapods/1.3.1... 创建了 2 个符号链接


  • 使用 $(inherited) 标志,或者
    • 从目标中删除构建设置。 对我的所有 pods 显示此错误。
- Chandni

23

按以下命令卸载已有的cocoapods

gem list --local | grep cocoapods | awk '{print $1}' | xargs sudo gem uninstall

使用以下命令将其安装到/usr/local/bin而不是/usr/bin

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

如果需要进一步查询,请查看此链接以卸载,或者此链接安装CocoaPods。


17

在我的情况下,什么都没有帮助,然后我做了以下几步:

  1. sudo gem uninstall cocoapods
  2. cd /Users/nikkov/.rvm/rubies/ruby-2.4.1/lib/ruby; 在Finder中搜索 cocoapods 并删除所有内容。
  3. brew install cocoapods
  4. brew link --overwrite cocoapods (如有需要)

这对我也起作用了。第二步非常关键。 - Anthony Tran

13

我已将我的 Ruby 版本从 2.5.3 升级到了 2.7.2。然后,我想将 Cocoapods 从 1.9.3 更新到 1.10.0。但在执行 pod install 时出现了以下错误:

can't find gem cocoapods (>= 0.a) with executable pod (Gem::GemNotFoundException)

有两种方法可以使用 homebrew 和 gem 卸载 Cocoapods。如果您是使用 gem 安装的 Cocoapods,请运行以下命令进行卸载。

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

如果您使用了brew,请使用以下命令卸载:
brew uninstall cocoapods

如果您忘记了之前使用的是哪个,请执行两个命令。请确保删除所有cocoapods实例以检查运行pod --version

如果您发现输出为-bash:pod:command not found,则所有实例都已正确删除。否则,您可能需要手动从此目录~/.rvm/rubies/ruby-2.5.3/lib/ruby中删除与cocoapods相关的文件。

sudo gem update --system
gem install cocoapods

来源:https://blog.csdn.net/develop_csdn/article/details/105053383


2
sudo gem update --system 对我很有帮助。运行后,问题得到解决。谢谢,Milan。 - natterstefan
sudo gem update --system 破坏了我所有文件的权限。无法安装任何其他 gem 包。 - Haidar Zeineddine

12
幸运的是,我在一个小时后找到了解决方案。
正如你所知,最新的Mac操作系统(Big Sur或更早版本)使用Ruby作为版本控制系统。因此,这个Ruby是私有的。你不能写入/更新一些属于Ruby的文件。
所以,我们有机会安装rbenv作为版本控制工具。
首先,如果你没有安装brew,你应该通过brew来安装rbenv。
$ brew install rbenv

你需要知道 rbenv 的版本号。你可以通过下面的代码片段来查看。
$ rbenv --version

安装Xcode的命令行工具

xcode-select --install

通过Homebrew安装rbenv
brew update
brew install rbenv ruby-build

配置 rbenv
eval "$(rbenv init -)"

安装和配置Ruby
rbenv install 3.1.1
rbenv global 3.1.1
rbenv rehash
source ~/.bash_profile

安装Cocoapods:
gem install cocoapods

1
在第二个步骤中,为了查找我安装了哪个rbenv版本,我必须输入rbenv --version - Lance Samaria

7
在我的情况下,出现问题的原因是项目文件夹中的Gemfile文件。当我删除该文件时,CocoaPods就像平常一样正常工作了。

6

请尝试执行sudo gem update

  • 在删除cocoapods后,重新安装cocoapods

gem install cocoapods 错误:执行 gem 时出错...(Errno::EPERM) 操作不允许 - /usr/bin/pod - Nirav Hathi
1
你应该总是使用 sudo gem install 而不是 gem install - atulkhatri

4

当我尝试使用@Aamir的解决方案时,我遇到了以下错误:

错误: 找不到有效的gem 'cocoapods'(>= 0),原因如下: 无法从https://rubygems.org/下载数据 - 没有这个名称(https://api.rubygems.org/specs.4.8.gz)

这对我的Mac有效:

sudo gem uninstall cocoapods
sudo gem install cocoapods

3
我成功的方法是在重新安装cocoapods之前运行rvm reset
rvm reset
rvm --version
sudo gem install -n /usr/local/bin cocoapods

来自这里


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