【问题标题】:RVM and missing (but installed) gems?RVM 和缺少(但已安装)的宝石?
【发布时间】:2011-05-06 04:49:29
【问题描述】:

我正在尝试在 OSX 10.6.7 上安装 RVM 并开始使用它在每个项目的基础上对我的开发环境进行沙箱处理,但遇到了一些问题。

我已经安装了 RVM 并为 Rails 2.3.11 创建了一个 gemset,并确保所有需要的 gem 都与 gem list 一起安装:

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:install 似乎没有帮助。 'which' 给了我以下路径:

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

知道这里发生了什么吗?

【问题讨论】:

    标签: ruby-on-rails ruby gem rvm


    【解决方案1】:

    好的,我想通了!

    有一个新版本的 authlogic 仅与 rails 3 兼容。由于新的 rvm gemset 需要安装 authlogic,它只获取了最新的可用版本。要修复,我只需要在我的 environment.rb 文件中包含正确的 rails 2 版本:

    config.gem "authlogic", :version => '2.1.6'
    

    在这种情况下,错误消息有点误导。安装 Gem 只是不是 rails 2 支持的版本。

    【讨论】:

      【解决方案2】:

      相同的 shell 会话? RVM 可能会绊倒你,因为你可以在同一目录中的不同 shell 会话中使用不同的 gemsets/rubies,所以如果你在一个选项卡/窗口/会话中运行服务器,而不是你正在运行 which 的那个,它可能不准确。

      另外,如果您使用的是.rvmrc,请注意它仅在您将cd 实际加载到目录时才会加载,并且仅适用于当前的shell 会话。如果您在创建.rvmrc 时打开了另一个会话,它不会自动申请该会话。

      【讨论】:

      • 是的,相同的 shell 会话...在服务器出错后我做的第一件事是运行 which 并检查路径...还没有到 .rvmrc,只是想让 gemset 工作首先。
      猜你喜欢
      • 1970-01-01
      • 2012-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-11
      • 1970-01-01
      • 2013-04-27
      • 2011-07-07
      相关资源
      最近更新 更多