2009-12-23 29 views
11

Tôi đang gặp khó khăn khi cập nhật RubyGems từ phiên bản 1.1.1 mới nhất. Tôi đã thử những điều sau đây:Không thể cập nhật RubyGems

gem update

Kết quả:

Updating installed gems
Bulk updating Gem source index for: http://gems.rubyforge.org/
Nothing to update

gem install rubygems-update

Kết quả:

Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/
ERROR: Error installing rubygems-update:
    rubygems-update requires builder (>= 0)

gem install rubygems-update update_rubygems

Kết quả:

Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/
ERROR: Error installing rubygems-update:
    rubygems-update requires builder (>= 0)
ERROR: could not find update_rubygems locally or in a repository

Sau đó, tôi đã kiểm tra, theo đề nghị của theIV về một câu hỏi tương tự, cho dù tôi đã http://gems.rubyforge.org/ trong nguồn từ xa của tôi. Đây là môi trường đá quý:

RubyGems Environment:
  - RUBYGEMS VERSION: 1.1.1
  - RUBY VERSION: 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8
 - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-9
  - GEM PATHS:
    - /Library/Ruby/Gems/1.8
    - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
    - :update_sources => true
    - :verbose => true
    - :benchmark => false
    - :backtrace => false
    - :bulk_threshold => 1000
  - REMOTE SOURCES:
    - http://gems.rubyforge.org

Vì vậy, vâng, có ý tưởng nào không?

Trả lời

10

Có được không cần phải thực hiện các bước quyết liệt như hoàn toàn xây dựng lại Ruby, cài đặt lại Rubygems từ đầu hoặc cài đặt một trình quản lý phiên bản để giải quyết này vấn đề. Có đơn giản là một chu kỳ phụ thuộc được giới thiệu bởi việc phát hành cuốc 2.3.0:

rubygems động cập nhật 1.3.5 yêu cầu (trong số những thứ khác) cuốc-seattlerb
cuốc-seattlerb đòi hỏi hoe> = 2.3.0
hoe > = 2.3.0 yêu cầu rubygems> = 1.3.1

Tôi đã viết the blog post được liên kết đến bằng zipizap. Để tóm tắt lại:

  1. Nếu bạn đã cố gắng để cập nhật, gỡ bỏ cài đặt mới nhất rubygems động cập nhật đầu tiên: sudo gem uninstall rubygems-update -v 1.3.5
  2. Update để 1.3.0: sudo gem install rubygems-update -v 1.3.0
  3. sudo update_rubygems
  4. Sau đó cập nhật mới nhất: sudo gem update --system

Với việc phát hành Rubygems 1.3.6, có vẻ như vấn đề này có thể biến mất. Từ các ghi chú phát hành:

  • Development deps are no longer added to rubygems-update gem so older versions can update sucessfully.
+1

Thật vậy, tôi tin rằng tôi vừa thành công với một bản cập nhật (dưới ruby ​​1.8.7) sử dụng 'gem install rubygems-update' (nó nói 1.5.0), tiếp theo là' gem update --system' cũng hạ cánh xuống 1.5. 0. Đã phải làm theo đó với một 'gem update' để có được bundler làm việc trở lại. – conny

+0

Cuối cùng, sau một vài ngày tìm kiếm tôi quay trở lại trang web mà tôi yêu thích và lo lắng, có một giải pháp cuối cùng giải quyết được vấn đề của tôi khi Debian vô hiệu hóa 'vấn đề cập nhật gem - hệ thống'! Cảm ơn nhiều. – Mike

+0

Đã thay đổi câu trả lời được chấp nhận cho điều này. – o01

-2

Tạo lại từ nguồn.

+0

Bất kỳ gợi ý nào về cách tiếp tục điều này? – o01

+0

Bạn có nghiêm túc không? http://docs.rubygems.org/read/chapter/3#page13 –

1

Bất kỳ may mắn nào với gem install builder? Điều đó có vẻ là những gì bạn cần để cài đặt rubygems-update.

+0

Đã cố gắng điều này, kết quả: L ERI: không thể tìm thấy người xây dựng tại địa phương hoặc trong kho lưu trữ – o01

7

Oi - Tôi cảm thấy đau đớn của bạn. Đầu tiên tôi sẽ hỏi rõ ràng; Bạn đã thực hiện các lệnh với sudo chưa? Vì vậy, bạn sẽ sử dụng sudo gem install rubygems-updatesudo update_rubygems.

Nếu điều đó không hiệu quả, hãy tải lại mã nguồn đá quý và xây dựng lại từ đầu (có thể muốn xóa nguồn tải xuống trước đó, v.v.). Bạn có thể muốn đọc HiveLogic article on installing Ruby, RubyGems, etc on Mac OS Snow Leopard.

Nếu điều đó doesnt 'làm việc ... :) Tôi có thể làm mạnh mẽ và xây dựng lại Ruby là tốt.

+0

Cảm ơn dude :) Yup, tôi chạy tất cả các lệnh với sudo. Gonna đọc bài báo bạn đang đề cập đến ... Có lẽ cuối cùng sẽ kết thúc việc xây dựng lại nó. – o01

+0

Rất vui khi được nghe - chúc bạn may mắn với việc xây dựng lại. Vì đó là trường hợp ... bạn có nhớ đánh dấu phản hồi của tôi như một câu trả lời không? – BigBrother

1

Tôi chạy vào một vấn đề tương tự, và tôi đã có thể nâng cấp bằng cách làm này: sudo update ngọc --system

+0

Điều này đã giúp tôi cập nhật rubygems 1.3.5 trên OS X 10.6.x và có vẻ đơn giản hơn nhiều so với các đề xuất phức tạp khác. –

1

Vấn đề dường như được phát hiện và báo cáo là dependecy chu kỳ: một số mới phiên bản phụ thuộc là cần thiết để cài đặt phiên bản đá quý mới ... vâng, nó là một mớ hỗn độn. Giải pháp được đề xuất mà tôi đã thấy là nâng cấp theo từng bước thời trang phiên bản trung gian, để làm cho quá trình chuyển đổi nâng cấp suôn sẻ, với những khoảng trống phiên bản nhỏ. đã đọc nó trong bài viết này, điều này giải thích nó rất tốt: link text

Sau khi đọc nó và cố gắng một vài lần, tôi đã nhìn thấy rằng nó vẫn còn rất mờ/phức tạp.

Vì vậy, tôi đã đi cho một giải pháp, dùng để cài đặt nhiều hơn thì necesary nhưng là straighforward hơn:

  • Cài đặt một phiên bản mới hơn của ruby ​​+ IRB + rdoc + đá quý (bên cạnh phiên bản cũ đã tồn tại)

  • Bây giờ cài đặt các viên ngọc "ruby quản lý phiên bản" (một không đau trong debian/ubuntu, nó có thể biên dịch phiên bản mới nhất ruby) link text

  • Sử dụng RVM để cài đặt cuối cùng và ru mới nhất theo phiên bản (side-by-side một lần nữa) và duy trì nó cập nhật.

  • (bây giờ bạn có thể sử dụng RVM để gỡ bỏ cài đặt các phiên bản cũ của ruby ​​/ đá quý trong hệ thống của bạn, và chỉ keept phiên bản ruby ​​mới nhất)

Nếu bạn cần nó cho một hệ thống sản xuất, RVM là đã được xem là đủ trưởng thành để duy trì ruby ​​/ đá quý được cập nhật với các phiên bản mới hơn.

Hy vọng nó sẽ giúp một số khởi động như tôi để "lấy toubles ra khỏi con đường"

5

vấn đề tương tự, giải pháp khác nhau

$ sudo gem update --system 
ERROR: While executing gem ... (RuntimeError) 
    gem update --system is disabled on Debian. RubyGems can be updated using the official Debian repositories by aptitude or apt-get.      

Giải pháp của tôi: Đến http://docs.rubygems.org/read/chapter/3#page13

và cài đặt bằng tay, tức là có được rubygems .... tgz và cài đặt nó.

Hy vọng nó sẽ giúp ai đó.

+0

Yup - nó đã giúp! Cảm ơn! – talonx

+0

Đồng ý với giải pháp này. Làm việc trên Mac OS X khi lệnh cài đặt/cập nhật đá quý không diễn ra. – Ryan

+0

Liên kết đã chết, thay đổi điều này có lẽ: https://rubygems.org/pages/download – oskarth

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