用它的git repo替换了一个gem,没有任何效果

时间:2011-09-15 11:02:36

标签: ruby-on-rails git gem

我使用了gem enumerated_attribute;但是,gem不是最新的,对于最后一个版本我必须使用git repo。

所以我按如下方式更改了我的gemfile:

#gem 'enumerated_attribute'
gem "edave-enumerated_attribute", :git => "https://github.com/edave/enumerated_attribute.git"

之后我运行bundle install删除了宝石并复制了回购。

现在铁路应用程序的反应就像没有安装枚举一样:

undefined method `enum_attr' for #<Class:0xa90d1c0>

我错过了什么?

1 个答案:

答案 0 :(得分:1)

我刚遇到这个问题。我发现我已经安装了原始gem,无法更新为gem的分叉版本。使用bundler,可以正确地选择新版本,但这些更改不会反映在Rails中。

以下命令应解决此问题:

rails plugin install https://github.com/edave/enumerated_attribute.git --force

我还建议您执行以下操作,以确保您在本地存储库(Rails应用程序之外)中具有预期的gem版本:

  1. 使用gem uninstall <gem_name>
  2. 卸载gem
  3. 查看您要使用的分叉宝石的来源副本
  4. 从源代码构建gem:gem build <gem_name.gemspec>
  5. 将gem安装到您的本地仓库:sudo gem install <gem_name-version.gem>
  6. 我在这里找到了这些步骤的详细信息:Installing a Gem Fork from GitHub Source