背景
我对来自.NET环境的Unix有些新意,但我现在已经知道了让我遇到麻烦。
我有一个使用Cocoapods的现有代码,所以我尝试安装Cocoapods。
最初,当我安装它时,它说它需要更新版本的Ruby失败了。 要安装Ruby,我使用了一个名为rvm的安装程序。通过一些努力,我安装了RVM并获得了Ruby Version 2.1.0。
当我转到应用所在的目录并输入pod install
时,它会以pod: command not found
回复。假设安装可可豆荚一定有问题。如果我尝试任何命令来安装或卸载Cocoapods
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>'
我在想,也许安装可可豆荚的失败尝试可能会破坏某些东西,把东西放在错误的地方。我想完全卸载cocoapods并重新安装它,但安装和卸载都没有做任何事情。
更新:使用gem list --local | grep cocoa pods
只是为了查看我安装的CocoaPods版本,给出了相同的输出结果。
问题:
是否有人知道如何解决此问题或完全翻录和重建CocoaPods?
答案 0 :(得分:13)
我得到了@Pedros(目前接受的答案)的帮助,但是因为有很多来回的评论我决定清理对我有用的答案。我将保留他作为公认的答案,因为他真的帮助了我。如果这对您有帮助并且您选择投票,请同时投票接受已接受的答案,因为这几乎完全来自他的回答。
以下是我发现的内容: 在我的情况下,RVM没有正确安装,因此RubyGems没有正确安装。这反过来使CocoaPods无法正确安装。
要完全卸载和删除RVM,尝试sudo rvm implode
,或者您可以执行sudo rm -rf ~/.rvm
我做了一些检查,看看我是否有正确的版本。我会发布他们现在应该做的事情,但随着版本不断更新,这可能会有所不同。
ruby --version
应为2.1.2
which ruby
应该是RVM ruby。 (看看是否与OSX的红宝石没有冲突)
gem --version
应为2.2.2
通过执行以下操作重新安装RVM: \curl -sSL https://get.rvm.io | bash -s stable --ruby
重新安装CocoaPods,如下所示: gem install cocoapods
我希望这可以节省一些开发时间和脱发:)
答案 1 :(得分:3)
gem env
将告诉您宝石的安装路径。
第一次安装gem时出现的错误可能是PATH错误。也许您的gems文件夹未在PATH中正确设置,而shell未找到Cocoapods。
尝试使用echo $PATH
打印您的PATH,并查看 - {EXECUTABLE DIRECTORY:来自gem env
是否存在。
同时尝试gem pristine --all
如果这不起作用,请尝试更改为ruby 2.1.2并重新安装cocoapods。