远程存储库和Gemfile.lock - Rails应用程序

时间:2013-02-24 00:50:05

标签: ruby-on-rails git

使用远程存储库时遇到问题。我做git clone <URL>就好了。 问题是当我运行bundle时。我收到很多错误。使用bundle update修复了这些错误,因为它安装了所有的宝石,然后我可以运行一切。问题是我的Gemfile.lock文件被更改了,它作为一个要在git存储库中提交的文件(它不应该,因为它会弄乱远程存储库的Gemfile.lock文件)。现在我无法将Gemfile .lock推送到远程存储库,因为它会破坏所有内容。但奇怪的是,这个Gemfile.lock没有包含在.gitignore文件中...所以任何想法我怎么能克服这一点,或者有人可以向我解释究竟发生了什么?

1 个答案:

答案 0 :(得分:1)

当您运行bundle时,bundler将使用Gemfile.lock中列出的宝石。 bundle update更新Gemfile.lock以获取Gemfile中列出的所有宝石中的最新宝石,同时仍然满足所有依赖项。

您也可以在特定的gem上运行bundle update,这将限制Gemfile.lock对所述gem的依赖关系的更改。

您需要更清楚地了解您收到的错误?他们是依赖关系吗?或者你不能用原生扩展构建一个gem?或者是其他东西?你使用的是gemsets - 如果没有,那可能对防止宝石碰撞有用。

Gemfile.lock确实存在问题吗?您是存储库的贡献者吗?

此外,bundler时不时地更新。在运行bundler之前,您可能希望更新bundle版本。

gem update bundler