Ios 可可豆需要完全重新安装

Ios 可可豆需要完全重新安装,ios,cocoapods,Ios,Cocoapods,背景 我对Unix有些陌生,来自.NET环境,但我现在知道的太多了,这会给我带来麻烦 我有一个使用Cocoapods的现有代码,所以我尝试安装Cocoapods 最初我安装它时,它失败了,说它需要更新版本的Ruby。 为了安装Ruby,我使用了一个名为rvm的安装程序。经过一些努力,我安装了RVM并获得了Ruby版本2.1.0 当我转到应用所在的目录并键入pod install时,它会以pod:command not found响应。假设可可豆的安装一定有问题。如果我尝试任何命令来安装或卸载Co

背景

我对Unix有些陌生,来自.NET环境,但我现在知道的太多了,这会给我带来麻烦

我有一个使用Cocoapods的现有代码,所以我尝试安装Cocoapods

最初我安装它时,它失败了,说它需要更新版本的Ruby。 为了安装Ruby,我使用了一个名为rvm的安装程序。经过一些努力,我安装了RVM并获得了Ruby版本2.1.0

当我转到应用所在的目录并键入
pod install
时,它会以
pod:command not found
响应。假设可可豆的安装一定有问题。如果我尝试任何命令来安装或卸载CoCoapod

gem install cocoapods    or gem uninstall cocoa pods
它返回相同的响应,即:

/Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:59:in `gem': uninitialized constant Gem::LOADED_SPECS_MUTEX (NameError)
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:46:in `require'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems.rb:601:in `load_yaml'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/config_file.rb:328:in `load_file'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/config_file.rb:197:in `initialize'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/gem_runner.rb:74:in `new'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/gem_runner.rb:74:in `do_configuration'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/gem_runner.rb:39:in `run'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/bin/gem:21:in `<main>'
/Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site\u ruby/2.1.0/rubygems/core\u ext/kernel\u gem.rb:59:in`gem':未初始化常量gem::LOADED\u SPECS\u MUTEX(NameError)
来自/Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site\u ruby/2.1.0/rubygems/core\u ext/kernel\u require.rb:46:in'require'
from/Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems.rb:601:in'load_yaml'
来自/Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site\u ruby/2.1.0/rubygems/config\u file.rb:328:in'load\u file'
来自/Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site\u ruby/2.1.0/rubygems/config\u file.rb:197:in'initialize'
from/Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site\u ruby/2.1.0/rubygems/gem\u runner.rb:74:in'new'
from/Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site\u ruby/2.1.0/rubygems/gem\u runner.rb:74:in'do\u configuration'
from/Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site\u ruby/2.1.0/rubygems/gem\u runner.rb:39:in'run'
from/Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/bin/gem:21:in`'
我在想,可能是安装可可豆荚的失败尝试破坏了某些东西,或者把某些东西放错了地方。我想完全卸载cocoapods并重新安装它,但安装和卸载没有任何作用

更新:使用
gem list--local | grep cocoa pods
查看我安装的cocoapod的哪个版本提供了相同的精确输出

问题:


是否有人知道修复此问题或完全撕裂并重建CoCoapod的方法?
gem env
将告诉您gems的安装路径

第一次安装gem时出现的错误可能是路径错误。也许你的gems文件夹没有在路径中正确设置,shell没有找到cocoapod

尝试使用
echo$PATH
打印路径,并查看是否存在-EXECUTABLE目录:from
gem env

还可以尝试
gem pristine--all


如果这不起作用,试着换成ruby 2.1.2并重新安装cocoapods。

我得到了@Pedros(目前被接受的答案)的帮助,但因为有太多的评论,我决定清理对我有用的答案。我会把他的答案作为公认的答案,因为他在这一点上确实帮了我很大的忙。如果这对您有帮助,并且您选择向上投票,请也向上投票接受的答案,因为这几乎完全来自他的答案

以下是我的发现: 在我的例子中,RVM安装不正确,所以RubyGems安装不正确。这反过来又使得cocoapod安装不正确

要完全卸载并删除RVM:请尝试
sudo RVM内爆
或者您可以执行
sudo rm-rf~/.RVM

我做了一些检查,看看是否有正确的版本。我会发布他们现在应该是什么,但随着版本不断更新,这可能会有所不同

ruby--version
应该是2.1.2

哪个ruby
应该是RVM ruby。(看看是否与OSX的ruby没有冲突)

gem--version
应为2.2.2

执行以下操作重新安装RVM:
\curl-sSLhttps://get.rvm.io |bash-s稳定--ruby

像这样重新安装CocoaPods:
gem安装CocoaPods


我希望这可以节省一些开发时间和头发脱落:)

所有命令都返回相同的错误。我尝试像这样更改ruby版本
sudo gem update--system 2.4.1
,甚至
gem env
都会返回上面相同的错误。确定我的路径显示:
/Users/aliabidhusain/.rvm/gems/ruby-2.1.2/bin:/Users/aliabidhusain/.rvm/gems/ruby-2.1。2@global/bin:/Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/aliabidhusain/.rvm/bin
问题一定出在你的rubygems上。试试
rvm rubygems最新版本--force
。这应该重新安装RubyGemsJ。为了确保,请告诉我以下命令的输出:
ruby--version
哪个ruby
gem--version
进度…。因此,运行该命令确实尝试重新安装Rubygems,但我得到了一个错误:
权限被拒绝@rb_sysopen-/Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site\u ruby/2.1.0/Rubygems/available\u set.rb
为什么
在我们刚刚卸载rvm时,哪个ruby
应该指向rvm ruby。。?我想您粘贴的这些输出在重新安装RVM后应该是有效的,不是吗?在我看来(这可能是错误的,因为我在这个主题中很弱):
ruby--version
应该指向您的系统版本ruby。你不应该弄乱它-无论它是什么版本,都可以
安装前应指向系统的ruby
,安装后应指向RVM
gem——版本
应该是最新的,如果是在2015年10月6日,那么是2.4.6。重新安装rvm,然后cocoapods对我有效,但我认为我的