【发布时间】:2012-02-09 21:27:31
【问题描述】:
简而言之,错误信息如下所示:
$ bundle install
rake aborted!
You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.9.2. Using bundle exec may solve this.
这里是这个错误的解释:
- 部署服务器已安装
rake 0.9.2.2 - 应用程序
Gemfile没有rake所需的版本号 - 开发者的开发环境已经安装了
rake0.9.2,这个版本号在Gemfile.lock文件中 - 部署服务器安装了许多 rails 应用程序
- 这些应用程序由不同的程序员编写
- 这些程序员在他们的开发环境中安装了不同的 rake 版本
- 其中一些有
rake 0.9.2,另一些有rake 0.9.2.2 - 通过阅读Yehuda Katz's Clarifying the Roles of the .gemspec and Gemfile,
Gemfile.lock文件在我们的subversion中
可能的解决方案:
- 可以通过运行
bundle exec rake install然后运行bundle update来避免错误消息 - 如果我们要求所有开发人员在
Gemfile中指定相同版本的rake,可以避免错误消息 - 要求所有开发者使用相同版本的 rake
我的问题是:这是正确的解决方案吗?还是有任何正确的解决方案?
我仍然不确定Gemfile.lock 文件是否应该在颠覆中。
【问题讨论】:
-
另一种可能的解决方案是使用 RVM:RVM 让您可以使用自己完全独立的专用环境部署每个项目——从特定版本的 ruby,一直到所需的精确集合gems 来运行你的应用程序。
标签: ruby-on-rails gem rake bundler gemfile