我做了捆绑更新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'
答案 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
时,它已解决。