2012-07-19 33 views
54

Tôi có dòng sau trong gemfile tôi:tập tin với git remote thất bại trên Heroku Gem đẩy

gem 'client_side_validations', :git => "[email protected]:Dakuan/client_side_validations.git", :branch => "master", ref: '2245b4174ffd4b400d999cb5a2b6dccc0289eb67' 

Các repo nó chỉ vào là công khai và tôi có thể chạy bó cài đặt/cập nhật tại địa phương tốt. Khi tôi cố gắng đẩy tới Heroku tôi nhận được lỗi sau:

Fetching [email protected]:Dakuan/client_side_validations.git 
    Host key verification failed. 
    fatal: The remote end hung up unexpectedly 
    Git error: command `git clone '[email protected]:Dakuan/client_side_validations.git' "/tmp/build_1xa9f06n4k1cu/vendor/bundle/ruby/1.9.1/cache/bundler/git/client_side_validations-56a04875baabb67b5f8c192c6c6743df476fd90f" --bare --no-hardlinks` in directory /tmp/build_1xa9f06n4k1cu has failed. 

! ! Failed to install gems via Bundler. ! ! Heroku push rejected, failed to compile Ruby/rails app

Bất kỳ ai có ý tưởng gì về những gì đang xảy ra ở đây?

Trả lời

151

Sử dụng URL GitHub này thay vì: git://github.com/Dakuan/client_side_validations.git

Các [email protected]:… URL là phiên bản SSH ghi, trong đó yêu cầu xác thực với một chìa khóa SSH kết nối với một tài khoản GitHub có viết truy cập vào kho.

URL git://github.com/… là phiên bản công khai, chỉ đọc.

Kể từ khi đá quý bạn đang sử dụng nằm trong một kho lưu trữ GitHub công cộng, bạn cũng có thể sử dụng viết tắt này trong Gemfile của bạn:

gem 'client_side_validations', :github => 'Dakuan/client_side_validations' 

Xem Bundler Git documentation để biết thêm thông tin.

+4

Đúng, đó là kẻ xấu. Cảm ơn bạn đã giúp đỡ! – Dakuan

+14

đừng quên chạy một gói cài đặt để cập nhật gemfile.lock của bạn và cam kết thay đổi của bạn sau khi thay đổi thành github public url –

+2

Tôi không mong đợi một giải pháp đơn giản như vậy cho vấn đề này. Cảm ơn bạn! –

0

Câu trả lời trễ thứ hai, khi tôi gặp phải một số kết quả khó hiểu từ nhật ký xây dựng của Heroku đã làm tôi bối rối một lúc.

Nếu bạn có nhiều Github tổ chức đá quý trong Gemfile của bạn, và một trong số họ là không thể tiếp cận (trong trường hợp của tôi, tôi đã vô tình chỉ vào một repo tin của tôi), xây dựng các bản ghi ném ra một lỗi như Username not found hoặc Repository not found cho tất cả các đá quý Github lưu trữ - ngay cả những người có sẵn.

Các vấn đề liên quan