使用导轨 3 时如何更新机架?捆绑者不让我!



当使用file_field_tag时,我得到以下错误:EOFError(坏内容体)。这是一个已知的错误,解决方案是更新机架安装。

不幸的是,如果我运行"bundle update rack-mount",我得到以下错误:

Bundler could not find compatible versions for gem "rack-mount":
  In Gemfile:
    rails (= 3.0.7) depends on
      rack-mount (~> 0.6.14)
    rack-mount (0.7.2)

这是令人愤怒的,因为每个人都告诉我,bundler是如此的棒,但它所做的一切是使我不可能运行我需要的gem版本。嗯……。

有人知道如何解决这个问题吗?我很惊讶我没有在谷歌上找到任何关于这个的东西,因为它是不可能使用rails 3上传文件的。

似乎rails版本3.0.7依赖于机架安装版本0.6.14,尝试在Gemfile中编辑gem 'rails', '3.0.x'。其中x是另一个版本号,可以是6,5,4或任何你喜欢使用而不是7,然后删除你的Gemfile。锁,并尝试bundle install

您不能使用捆绑器覆盖Rails依赖项。如果你必须覆盖Rails的需求,你应该维护你自己的分支。

  1. github上的Fork Rails(版本3.0.9)
  2. 检查它(通过git clone)
  3. 签出要更改的分支(git checkout --track origin/3_0_9)
  4. 新建分支(git checkout -b 3_0_9_with_new_rack_mount)
  5. 进行更改。在本例中,编辑actionpack/actionpack。
  6. 0.6.14更改为0.7.2
  7. 提交变更(git commit -am "Updated to a newer rack-mount version")
  8. 将其推送到您的github帐户(git push origin 3_0_9_with_new_rack_mount)
  9. 使用该存储库更新您的Gemfile (gem 'rails', :git => "git://github.com/jevy/rails.git", :branch => "3_0_9_with_new_rack_mount" # Fixes carrierwave error)
  10. )删除你的Gemfile.lock
  11. bundle install
  12. 利润$ $ $

您是否尝试删除Gemfile.lock并再次运行bundle install ?

相关内容

  • 没有找到相关文章

最新更新