2010-06-15 47 views
6

Khi tôi cố gắng dọn dẹp đường ray phiên bản của tôi với sudo gem cleanup railsGem :: Cài đặt Lỗi

tôi nhận được lỗi sau:

Cleaning up installed gems... 
Attempting to uninstall rails-2.3.5 
Unable to uninstall rails-2.3.5: 
Gem::InstallError: cannot uninstall, check `gem list -d rails` 
Attempting to uninstall rails-1.2.6 
Unable to uninstall rails-1.2.6: 
Gem::InstallError: cannot uninstall, check `gem list -d rails` 

gem list -d rails kết quả trong:

rails (2.3.8, 2.3.5, 1.2.6) 
    Author: David Heinemeier Hansson 
    Rubyforge: http://rubyforge.org/projects/rails 
    Homepage: http://www.rubyonrails.org 
    Installed at (2.3.8): /Library/Ruby/Gems/1.8 
       (2.3.5): /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 
       (1.2.6): /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 

    Web-application framework with template engine, control-flow layer, 
    and ORM. 

một Bất kỳ biết gì sai rồi?

+0

dupe của http://stackoverflow.com/questions/1000731/getting-rid-of-ruby-gems-that-wont-die – x1a4

Trả lời

13

Sau một số tìm kiếm dài, lý do là vì đường dẫn không tồn tại. Không thể gỡ cài đặt được vì hệ thống không tìm kiếm /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

Ở cấp độ chi tiết, thay vì gem cleanup rails, bạn chỉ đơn giản là có thể sử dụng lệnh gỡ bỏ cài đặt và gõ:

gem uninstall rails -i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

thì bạn có thể nhấn một vấn đề khác liên quan đến một con đường không tồn tại, tại thời điểm đó, bạn nên tạo một thư mục bằng cách sử dụng lệnh:

mkdir /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/bin

Bây giờ, tất cả các bản gỡ cài đặt đều hoạt động tốt. Tôi khuyên bạn nên làm một viên ngọc sạch cài đặt lại bằng cách thực hiện các chức năng sau:

tạo một danh sách của tất cả các đá quý hiện

gem list --no-versions | sed -e '/^(*|$)/d' > installed_gems

gỡ bỏ cài đặt tất cả các đá quý hiện

gem list | cut -d" " -f1 | xargs gem uninstall -aIx

cài đặt lại đá quý mới nhất

cat installed_gems | xargs sudo gem install

+0

Rất hữu ích. Để chạy kịch bản gỡ cài đặt mặc dù tôi phải thay thế giữa việc thêm -i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 và không cho đến khi tất cả các đá quý đã được xóa thành công. –

+0

Tôi đã sử dụng: gem list --no-versions | xargs sudo gem uninstall -aIx -i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 ** hoặc ** gem list --no-versions | xargs sudo gem uninstall -aIx -i /Library/Ruby/Gems/1.8 tùy thuộc vào nơi Gem được cài đặt. – terrace

+0

Tôi chỉ dành thời gian cuối cùng để xem qua các lựa chọn thay thế khác nhau và đây là cách làm việc cho tôi. btw, TÔI KHÔNG SỬ DỤNG SUDO. Xin Chúa ban phước cho anh, tôi sẽ cho anh 50 phiếu nếu tôi có thể –

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