2012-06-06 16 views
6

Điều này khiến tôi phát điên. Tôi đã thêm một gem (hirb) vào Gemfile và bây giờ tôi không thể triển khai.Cách giải quyết Một số đá quý dường như bị thiếu trong thư mục nhà cung cấp/bộ nhớ cache của bạn. Không thể tìm thấy "bất cứ điều gì" trong bất kỳ nguồn nào?

Vâng, tôi đã sử dụng bundle install --path vendor/cache

Có, tôi sử dụng bundle package

Có, tôi cam kết Gemfile và Gemfile.lock

Tôi đã xóa thư mục vendor/bộ nhớ cache trong máy sản xuất nên nó sẽ tạo ra nó một lần nữa thay vì cập nhật nó. Điều này có sai không?

Bất cứ khi nào tôi chạy cap:deploy tôi nhận được sau ...

executing "cd /var/www/releases/20120606002321 && bundle install --gemfile /var/www/releases/20120606002321/Gemfile --path /var/www/shared/bundle --deployment --quiet --without development test" 
    servers: ["11.111.11.11"] 
    [11.111.11.11] executing command 
    [11.111.11.11] env PATH=/var/lib/gems/1.9.1/bin:$PATH sh -c 'cd /var/www/releases/20120606002321 && bundle install --gemfile /var/www/releases/20120606002321/Gemfile --path /var/www/shared/bundle --deployment --quiet --without development test' 
** [out :: 11.111.11.11] Some gems seem to be missing from your vendor/cache directory. 
** [out :: 11.111.11.11] Could not find multi_json-1.3.6 in any of the sources 
    command finished in 48571ms 
*** [deploy:update_code] rolling back 
    * executing "rm -rf /var/www/releases/20120606002321; true" 
    servers: ["11.111.11.11"] 
    [11.111.11.11] executing command 
    [11.111.11.11] env PATH=/var/lib/gems/1.9.1/bin:$PATH sh -c 'rm -rf /var/www/releases/20120606002321; true' 
    command finished in 6417ms 
failed: "env PATH=/var/lib/gems/1.9.1/bin:$PATH sh -c 'cd /var/www/releases/20120606002321 && bundle install --gemfile /var/www/releases/20120606002321/Gemfile --path /var/www/shared/bundle --deployment --quiet --without development test'" on 11.111.11.11 
+0

Đó là rất lạ, không phải là có một kết nối internet cho máy chủ này? Khi không tìm thấy bundler nên tải đá quý từ rubygems .org –

Trả lời

0

@leonel, có một số điều bạn có thể kiểm tra:

  1. Xem nếu bạn có đúng nguồn để có được đá quý từ (nguồn "http://rubygems.org")
  2. Cố gắng cài đặt đá quý multi_json
  3. Hãy xem các tệp nhật ký của máy chủ web của bạn. Họ giúp đỡ rất nhiều trong các trường hợp như thế này khi bạn sử dụng vũ khí thông thường không thể đạt được mục tiêu.

Sau đó, bạn nên kiểm tra xem bạn có phiên bản cũ hay không, sau đó thử cập nhật bằng đá quý, sang phiên bản yêu cầu (hoặc mới nhất) của multi_json.

Hy vọng rằng sẽ giúp, R

6

Bạn có thể muốn thử tháo --deployment cờ. Điều đó dường như cho phép Bundler cài đặt từ cả hai mã vendor/cache nguồn Rubygems.

Capfile:

set :bundle_flags, "--quiet --no-cache" 

Một lỗi liên quan: https://github.com/bundler/bundler/issues/1454

+0

Sử dụng capistrano 3.3.5 tôi đã phải thêm vào tập tin 'config/deploy.rb' và không phải là 'Capfile' – Catfish

+0

Điều này làm tôi phát điên, cảm ơn rất nhiều! – MERM

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