简而言之,错误消息如下所示:
$ 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
- 开发者的开发环境
rake
安装了0.9.2,这个版本号在Gemfile.lock
文件中 - 部署服务器安装了许多 Rails 应用程序
- 这些应用程序由不同的程序员编写
- 这些程序员在他们的开发环境中安装了不同的 rake 版本
- 其中一些有
rake 0.9.2
,另一些有rake 0.9.2.2
- 通过阅读Yehuda Katz 的 Clarifying the Roles of the .gemspec 和 Gemfile,
Gemfile.lock
文件在我们的颠覆中
可能的解决方案:
- 可以通过运行
bundle exec rake install
then来避免错误消息bundle update
- 如果我们要求所有开发人员指定相同版本的 rake in,则可以避免错误消息
Gemfile
- 要求所有开发人员使用相同版本的 rake
我的问题是:这是正确的解决方案吗?还是有任何正确的解决方案?
我仍然不确定该Gemfile.lock
文件是否应该处于颠覆状态。