Rails 3/Git/Bundler致命无法解析对象

24 ruby ruby-on-rails bundler ruby-on-rails-3

尝试捆绑安装时,我收到以下错误

Fatal could not parse object '8c11dd........
Git error: command git reset --hard '8c11dd

If this error persists you can try removing the cache directory.
Run Code Online (Sandbox Code Playgroud)

删除缓存目录没有成功,有没有人见过这个错误?

Windows 7 64位

use*_*620 31

当我跨服务器移动存储库时遇到同样的错误.通过删除Gemfile.lock并运行来解决它bundle install.这生成了一个更新的Gemfile.lock,有助于解决错误.

  • 删除Gemfile.lock通常是个坏主意.当你再次运行`bundle install`时,它将获取任何未指定的宝石的最新版本.这很可能会引起一些麻烦. (4认同)

Tom*_*cik 8

如果您使用Capistrano删除(共享/)缓存副本应解决问题.


dep*_*ner 6

这里的许多海报是正确的,因为它很可能与Gemfile.lock由于存储库移动或重新定位而不同步有关,但正如其他人指出的那样,删除它并不是一个明智的决定.检查Gemfile.lock并找到有问题的repo的GIT条目.要检查的重要一点是revision它指向的元数据属性...它很可能指向不再存在的错误修订哈希.

我的建议是通过将其与实际的Repo日志文件交叉引用来手动编辑它以指向您想要下拉的分支(因此您确保它与实际Gemfile中实际存在的那个一致),如下所示:

GIT
  remote: https://github.com/YourUserOrOrganization/your-gem-repo.git
  revision: <UPDATE AND FIX ME!>
  specs:
    some-random-dep1 (2.4.3)
      some-random-dep2 (>= 1.7.9)
      some-random-dep3 (>= 1.6.7)
Run Code Online (Sandbox Code Playgroud)


小智 5

存储库必定发生了一些事情.在我的情况下,它被删除/移动.所以我只是更改了git网址.

如果您:git =>指向github,那么访问该github项目的页面可能是个好主意.