我正在尝试在OSX 10.6.7上安装RVM并开始使用它在每个项目的基础上对我的开发环境进行沙箱化,但是我遇到了一些问题。
我安装了RVM并为Rails 2.3.11创建了一个gemset,并确保所有需要的gem都安装了gem列表:
actionmailer (2.3.11)
actionpack (2.3.11)
activemodel (3.0.7)
activerecord (3.0.7, 2.3.11)
activeresource (2.3.11)
activesupport (3.0.7, 2.3.11)
acts_as_commentable (3.0.1)
ajaxful_rating (2.2.8.2)
arel (2.0.9)
authlogic (3.0.2)
builder (2.1.2)
geokit (1.5.0)
i18n (0.5.0)
mysql (2.8.1)
rack (1.1.2)
rails (2.3.11)
rake (0.8.7)
rbbcode (0.1.11)
sanitize-url (0.1.4)
tzinfo (0.3.27)
will_paginate (2.3.15)
但是当我启动服务器(脚本/服务器)时,我收到以下错误:
Missing these required gems:
authlogic
You're running:
ruby 1.8.7.334 at /Users/Nick/.rvm/rubies/ruby-1.8.7-p334/bin/ruby
rubygems 1.6.2 at /Users/Nick/.rvm/gems/ruby-1.8.7-p334, /Users/Nick/.rvm/gems/ruby-1.8.7-p334@global
Run `rake gems:install` to install the missing gems.
运行rake gems:安装似乎没有帮助。 '这'给了我以下路径:
which ruby
/Users/Nick/.rvm/rubies/ruby-1.8.7-p334/bin/ruby
which gem
/Users/Nick/.rvm/rubies/ruby-1.8.7-p334/bin/gem
知道这里发生了什么吗?
答案 0 :(得分:7)
好的我明白了!
authlogic的新版本只与rails 3兼容。由于新的rvm gemset需要安装authlogic,它只是抓住了最新版本。要修复我只需要在我的environment.rb文件中包含rails 2的正确版本:
config.gem "authlogic", :version => '2.1.6'
在这种情况下,错误消息有点误导。 Gem安装的不是rails 2支持的版本。
答案 1 :(得分:0)
相同的shell会话? RVM可能会让你失望,因为你可以在同一目录中的不同shell会话中使用不同的gemsets / rubies,所以如果你在一个选项卡/窗口/会话中运行服务器而不是你正在运行的那个which
,它可能不准确。
此外,如果您正在使用.rvmrc
,请注意它仅在您实际cd
进入目录时加载,然后仅用于当前的shell会话。如果您在创建.rvmrc
时打开了另一个会话,则该会话将不会自动申请该会话。