经过长时间阅读Bunder文档后,我非常理解为什么与手动gem安装相比这是一件好事。
但这最近才出现给我(和其他人),现在我们有一个混合环境。我们的开发机器大多都很好。但是当我们部署到生产时,Bundler告诉capistrano将宝石放在shared/bundle/gems
中,这是有道理的。但我们仍然在正常的.rvm位置手动安装了宝石。
所以现在我们知道不要在生产中使用“gem install”,但是当我们直接运行Rake任务时,我们正在处理版本不匹配。我认为,我们可以使用“捆绑exec rake foo:bar”强制执行正确的行为。但是现在我们有一堆过时的宝石:
gem install
我想让事情保持原始状态。我有什么理由不使用gem cleanup
吗?
希望这不是太复杂: - )
提前致谢。
答案 0 :(得分:1)
gem cleanup
将保留所有宝石的最新版本,并删除旧版本。我想你想要的是:
rvm gemset empty
可能会有所帮助。bundle install
bundle exec
运行所有内容。