Bundler错误:重试git cat-file ...如果此错误仍然存​​在,您可以尝试删除缓存目录

时间:2014-03-18 13:34:26

标签: git bundler

我做了捆绑更新zipcar,这是一个本地宝石,得到了:

$ bundle update zipcar
Retrying git cat-file -e 78c5245dd174058958a07d6674de7bc037e14ed5 due to error (2/3): Bundler::Source::Git::GitCommandError Git
 error: command `git cat-file -e 78c5245dd174058958a07d6674de7bc037e14ed5` in directory /Users/mdurrant/.rvm/gems/jruby-1.7.4/c
ache/bundler/git/tricorder-4921ab3158ace9efb6d757333e208c58cbfe3e2e has failed.
If this error persists you could try removing the cache directory '/Users/mdurrant/.rvm/gems/jruby-1.7.4/cache/bundler/git/tric
order-4921ab3158ace9efb6d757333e208c58cbfe3e2e'
Retrying git cat-file -e 78c5245dd174058958a07d6674de7bc037e14ed5 due to error (3/3): Bundler::Source::Git::GitCommandError Git
 error: command `git cat-file -e 78c5245dd174058958a07d6674de7bc037e14ed5` in directory /Users/mdurrant/.rvm/gems/jruby-1.7.4/c
ache/bundler/git/tricorder-4921ab3158ace9efb6d757333e208c58cbfe3e2e has failed.
If this error persists you could try removing the cache directory '/Users/mdurrant/.rvm/gems/jruby-1.7.4/cache/bundler/git/tric
order-4921ab3158ace9efb6d757333e208c58cbfe3e2e'

3 个答案:

答案 0 :(得分:2)

这是由于捆绑器检测网络故障的一个特性。

对我来说,简单的解决方法是再次运行它。

答案 1 :(得分:1)

如果你在gem代码上做了一个rebase,你也会得到类似的错误。例如,如果您在Gemfile中有这样的内容:

gem 'mygemname', :git => 'https://github.com/foo/mygemname.git'

Gemfile.lock

中添加了类似的内容
GIT
  remote: https://github.com/foo/mygemname.git
  revision: aaabbbbbbbbbbbcccccccccccdddddxxxxxxxxxxxx

您将在Heroku日志中看到的错误类似于:

Retrying git cat-file -e aaabbbbbbbbbbbcccccccccccdddddxxxxxxxxxxxx due 
to error (2/3): Bundler::Source::Git::GitCommandError Git error: 
command `git cat-file -e aaabbbbbbbbbbbcccccccccccdddddxxxxxxxxxxxx` 
in directory /tmp/build_...

这是因为gase hash在rebase期间发生了变化。解决方案是从Gemfile中删除gem,运行bundle install,然后再将其添加回来(将使用新的git哈希)。

答案 2 :(得分:0)

我有类似的问题。当我删除gemfile.lock并再次运行bundle install时,它已解决。