【问题标题】:which version of a gem is installed when requiring a gem需要 gem 时安装了哪个版本的 gem
【发布时间】:2012-02-15 19:27:54
【问题描述】:

我正在使用 thumbs_up gem,在 github 上有一个 master 分支 (0.4.6) 和一个 engine 分支 (0.3.2)。当我在我的Gemfile 中使用

需要 gem 时
gem 'thumbs_up'

我看到安装了 0.4.6 版。我通过执行bundle exec gem which thumbs_up 验证这是在我的开发环境中运行的正确版本,当我查看VERSION 文件时,我看到它是0.4.6。

因此,当我查看代码时,我希望找到一个 unvote_for 方法,但它没有。相反,它有一个名为clear_votes。现在我很困惑,因为 clear_votes 应该在 0.3.2 版中,但据我所知,我在 0.4.6 版中。

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails ruby rubygems


    【解决方案1】:

    默认情况下,使用的 gem 是运行“捆绑安装”时可用的最新版本。您可以在 Gemfile 中指定版本(或版本约束)。要更新所用 gem 的版本,您必须运行 bundle update <gemname>,它会根据您的 gemfile 执行此操作。

    关于您的问题:确保您的服务器/控制台命令以bundle exec 为前缀。您还检查了系统上安装了哪些版本的 thumbs_up,并删除了您不再需要的版本。

    【讨论】:

      【解决方案2】:

      您使用 Bundler,因此您可以知道 Gemfile.lock 中使用的是哪个版本的 gem。 Bundler 通过 gem 只拥有并使用一个版本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-07
        • 1970-01-01
        相关资源
        最近更新 更多