gpt4 book ai didi

ruby-on-rails-3 - Rails 不在 Gemfile 中运行 gem

转载 作者:行者123 更新时间:2023-12-04 23:45:30 25 4
gpt4 key购买 nike

我在 RVM 环境中运行 Rails 3.2.1 和 Ruby 1.9.2-p290

在我的 dev 文件夹中,我有许多不同的 Rails 应用程序,都运行上面的程序,但我没有创建单独的 gemsets

我用它自己的 gemfile 创建了一个新的应用程序,运行了 bundle install 等,一切正常,直到我回到我最初正在开发的主应用程序

当我现在执行 rake routes 时,我得到了错误

rake aborted!
You have already activated rake 10.0.3, but your Gemfile requires rake 10.0.2. Using bundle exec may solve this.

我想我知道如何回到正轨,但我不明白的是:

当我查看 .rvm/gems/ruby-1.9.2-p290/gems 文件夹时,我可以看到 rake-0.8.7、rake-0.9.2.2、rake-10.0 的每个 gem 都有一个文件夹.2、rake-10.0.3

所以我安装了 rake 10.0.2 版本,我的主应用程序 gemfile.lock 调用 rake(10.0.2) 并且当我运行 bundle exec rake routes 它确实有效(大概运行 10.0.2?),但是当我运行一条直线 rake 路线时,Rails 似乎想要运行一个不同版本的 Rake,它没有被要求这样做。

所以我的问题是,鉴于调用已安装 Gem 的特定版本似乎不像您预期​​的那样,我如何知道实际运行的是哪个版本的已安装 Gem?

(另外,我想如果我在同一个 RVM 空间内开发不同的应用程序,我可能应该为每个应用程序创建单独的 gemsets?)

最佳答案

此问题已在 ruby​​gems 2.0 中修复 - Gemfile 可用于加载任何可执行 gem。

至于你的问题 RVM 附带了我安装的 gem rubygems-bundler 并且如果可能它应该自动解决依赖关系 - 如果没有安装正确的版本它会回退到你的问题,有一张票在这种情况下改变情况以引发异常 - https://github.com/mpapis/rubygems-bundler/issues/37

基本上 - 确保在项目中执行任何操作之前运行 bundle installrubygems-bundler 将确保运行正确版本的 gem。

关于ruby-on-rails-3 - Rails 不在 Gemfile 中运行 gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14175354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com