RoR rake bundle依赖项

时间:2013-02-07 12:15:20

标签: ruby-on-rails gem rake bundle

平台:Windows 7,在JRuby 1.6.8上运行。

C:\project> rake db:migrate
rake aborted!
You have already activated rake 10.0.3, but your Gemfile requires rake 0.9.2.2.
Using bundle exec may solve this.

行。我添加了

gem "rake", "= 0.9.2.2"

到Gemfile并运行:

C:\project> bundle exec rake db:migrate
bundler: command not found: rake
Install missing gem executables with `bundle install`

<礼貌> WTF< /礼貌>

我也做过

bundle install --deployment

无济于事。

我安装了不同版本的rake:

C:\project>gem list

LOCAL GEMS
...
rake (10.0.3, 0.9.2.2, 0.8.7)

如何解决这个问题?我需要rake db:migrate使用我的特定(继承)RoR项目,其中Gems往往略有过时,但它们都在Gemfile中指定。

1 个答案:

答案 0 :(得分:0)

  1. 在明确了解其用途之前,请勿运行bundle --deployment。 (这很令人困惑,我们通常使用bundle install --path vendor/bundle

  2. 第一个错误意味着您应该使用bundle exec执行命令,例如bundle exec rake db:migrate

  3. Gemfile版本更改后,您应该在没有bundle install的情况下运行--deployment

  4. 此时我建议删除项目主页中的.bundle文件夹,这会转移--deployment电话。然后致电bundle install并再次尝试。如果它不起作用,请告诉我们。

    不要感到沮丧,只要你掌握它,捆绑就会非常酷。