据我所知,我的Mac OS X中有2个Ruby,系统Ruby Gem和User Ruby Gem。
两者都有版本2.1.5
(由sudo gem --version
和gem --version
确认)。我使用System Ruby Gem来安装CocoaPods:
sudo gem install cocoapods
,安装的版本为0.25.0
。使用Ruby Gem没有安装CocoaPods。我是否正确开发iOS应用程序,由cocoapods
管理的库?或者我应该使用gem install cocoapods
安装User Ruby Gem?
我在这里有点困惑。
which -a gem
的输出:
/Users/MyUserName/.rvm/rubies/ruby-2.0.0-p247/bin/gem
/Users/MyUserName/.rvm/bin/gem
/usr/bin/gem
答案 0 :(得分:2)
在这种情况下,我会说你想使用gem install cocoapods
,但无论你是否添加sudo
,它仍指向同一个宝石。哪个是/Users/MyUserName/.rvm/rubies/ruby-2.0.0-p247/bin/gem
,因为它是从which -a
返回的第一个,它是$PATH
中的第一个。使用ruby版本管理器(如RVM或rbenv)的部分目的是让您不必使用sudo
来安装ruby gem。通过这种方式,他们可以完全拥有并管理您自己的用户权限。因此,在这种情况下,当您使用gem install cocoapods
时,它会在本地安装RVM(~/.rvm
中的某个地方并使用正确的用户权限而不是root权限。