Xóa tất cả Đá quý đã cài đặt và bắt đầu lại


92

Gần đây tôi đã bắt đầu học Ruby và Ruby on Rails, và đã xem rất nhiều tài liệu bắt đầu. Gần đây, tôi nhận thấy rằng tôi liên tục gặp lỗi trong đó gems sẽ không cài đặt hoặc chúng sẽ được cài đặt nhưng không thể sử dụng được vì một số lý do và tôi đã quyết định rằng tôi muốn xóa mọi thứ xuống một lần nữa chỉ cài đặt Ruby và bắt đầu lại với cài đặt. Một video đào tạo đã cho tôi cài đặt hầu hết các viên ngọc của mình với RVM, vì vậy tôi không biết liệu điều đó có thay đổi gì không.

Vì vậy, tóm lại câu hỏi của tôi là "Làm cách nào để loại bỏ RVM, Rubygems và tất cả các Gem đã cài đặt để tôi có thể bắt đầu lại chỉ với Ruby?"

Chỉnh sửa: Tôi đang sử dụng Mac OS 10.6


1
Bạn đã cài đặt vào / opt / ruby? Đó là những gì tôi làm để tôi có thể loại bỏ ruby ​​nhanh chóng.
thay thế

Xem stackoverflow.com/questions/15100496/… Điều này cũng sẽ hoạt động cho 1.9.3 :)
Nathan Lilienthal

Tiêu đề của câu hỏi của bạn và "Câu hỏi ngắn" Tóm tắt ở cuối là hai việc khác nhau ...
mpowered

Câu trả lời:


118

Từ trang hỗ trợ RVM :

RVM cài đặt mọi thứ vào ~ / .rvm. Để xóa RVM khỏi hệ thống của bạn, hãy chạy 'rm -rf ~ / .rvm'. Bạn có thể có một tệp cấu hình bổ sung trong ~ / .rvmrc và tất nhiên là móc RVM trong tệp khởi động bash / zsh của bạn.

Vì vậy, chỉ cần đi tới dòng lệnh và gõ rm -rf ~/.rvm

Tất cả các viên ngọc đã cài đặt đều nằm trong các thư mục ~ / .rvm, vì vậy, làm như trên sẽ xóa các viên đá quý và các viên hồng ngọc đã cài đặt trong một lần.

Có thể gỡ bỏ đá quý bạn đã thêm trước RVM với cài đặt ruby ​​mặc định bằng cách gõ lệnh này tại dấu nhắc lệnh:

for x in `gem list --no-versions`; do gem uninstall $x -a -x -I; done

1
Tôi vừa chạy nó, nhưng đá quý vẫn được cài đặt. Tuy nhiên, nó trông giống như nó đã tải lại nó. Không chắc liệu nó có được tải lại với mặc định từ Mac XCode hay không ...
Dave Long

thêm một dòng khác để thoát khỏi những viên đá quý bạn thêm tiền RVM
michaelmichael

1
Tôi sẽ thêm các tùy chọn '-all -x -I' vào gỡ cài đặt gem để ngăn nó nhắc bạn (đối với các tệp nhị phân, phiên bản hoặc phụ thuộc) trong khi gỡ cài đặt.
timmfin

4
Để tham khảo, lệnh đầy đủ là: for x in `gem list --no-version`; gỡ cài đặt gem $ x -a -x -I; xong
Daniel Rehner

7
Để tham khảo nhiều hơn, tùy chọn khác:gem list --no-versions | xargs gem uninstall -aIx
trisweb

68
gem uninstall -aIx

Gỡ cài đặt tất cả đá quý mà không cần lời nhắc.

Tùy chọn

-a, --[no-]all                   Uninstall all matching versions
-I, --[no-]ignore-dependencies   Ignore dependency requirements while
                                 uninstalling
-x, --[no-]executables           Uninstall applicable executables without
                                 confirmation

Điều đó mang lại cho tôi:ERROR: While executing gem ... (Gem::InstallError) gist is not installed in GEM_HOME, try: gem uninstall -i /usr/share/rubygems-integration/all gist
user2023370

34

Đối với WindowsUnix, hãy sao chép / dán trong dấu nhắc lệnh ( Ruby 1.9.x ).

ruby -e "`gem list`.split(/$/).each { |line| puts `gem uninstall -Iax #{line.split(' ')[0]}` unless line.strip.empty? }"

2
ERROR: While executing gem ... (Gem::CommandLineError) Please specify at least one gem name (e.g. gem build GEMNAME) -e:1: no .<digit> floating literal anymore; put 0 before dot bundle (0.0.1) ^ -e:1: syntax error, unexpected tINTEGER bundle (0.0.1) ^
isomorphismes

@isomorphismes không chắc tôi đã sửa nó chưa, nhưng bạn có thể thử lệnh ngay bây giờ.
Haris Krajina

22

sử dụng RVM, bạn có thể chỉ cần nhập ...

rvm gemset empty GEMSET

trong đó GEMSET là bộ đá quý mà bạn muốn làm trống. sau đó...

cài đặt gói

yum install bundler và cuối cùng

bundle install

14

rvm implode(xem tài liệu cli ) dường như hoạt động - và nó thậm chí còn cho bạn biết nơi để tìm thức ăn thừa


2
Về mặt kỹ thuật, đây là câu trả lời chính xác nhất và chính xác là nó được thiết kế để làm gì.
mpowered

"implode - xóa tất cả cài đặt ruby ​​mà nó quản lý, mọi thứ trong ~ / .rvm"
Nein

5
  1. Đây là công việc đối với tôi trên Ubuntu 16.04. Đối với tôi, khi tôi đang thực hiện lệnh rails -v, nó xuất hiện lỗi do NameError. Tôi đã cài đặt 3 phiên bản rails (4.2.0, 4.2.6, 5.0.0.1). Tôi đã cố gắng gỡ cài đặt gem không cần thiết bằng lệnh gem gỡ cài đặt số phiên bản rails -v nhưng không được, nhưng tôi đã tìm ra cách để giải quyết vấn đề này. Để gỡ cài đặt tất cả các gem, bạn phải lặp lại tất cả các mục trong danh sách gem bằng bash scripting. Phương pháp này rất bất tiện. Nhờ có Rubygems 2.1.0, giờ đây bạn có thể thực hiện điều đó bằng một lệnh.

    BƯỚC 1

    Trước tiên, hãy đảm bảo rằng bạn nâng cấp Rubygems của mình lên 2.1.0 hoặc mới hơn. Để thực hiện lệnh này, hãy chạy lệnh này (Trong trường hợp bạn đang làm việc trên phiên bản cũ hơn. Bạn có thể kiểm tra phiên bản gem của mình bằng cách sử dụng lệnh này bất kỳ một trong số chúng là gem -v hoặc gem --version )

    cập nhật đá quý - hệ thống

    gem --version

    BƯỚC 2

    Chạy lệnh này trong thiết bị đầu cuối của bạn

    gỡ cài đặt gem - tất cả

    Bước 3

    Cài đặt gói đá quý (tôi nghĩ không cần thiết chỉ để đề phòng) gói cài đặt đá quý

    Bước - 4
    Cài đặt rails trên hệ thống của bạn bằng lệnh này gem install rails -vspecific version you want to install bạn có thể kiểm tra phiên bản rails trên trang web chính thức rails tất cả các phiên bản ví dụ: - Tôi đã cài đặt phiên bản rails 4.2.6, bạn cài đặt theo yêu cầu. gem install rails -v 4.2.6

    Bước - 5

    Cuối cùng kiểm tra phiên bản của ứng dụng khung công tác rails đã cài đặt bằng cách Sử dụng lệnh cơ bản rails -v . Nó sẽ lặp lại phiên bản hiện tại của khung công tác đường ray. Thưởng thức :)

    Người giới thiệu

http://ruby-journal.com/how-to-uninstall-all-ruby-gems/ http://guides.rubyonrails.org/v4.1/getting_started.html


2

Bước 1:

Lần đầu tiên tôi tiếp tục gặp lỗi cho biết:

Bạn không có quyền ghi cho thư mục / usr / bin

Để được cấp phép, tôi đã trở thành người dùng root với (điều này có thể nguy hiểm vì những lý do ngoài tầm hiểu biết hiện tại của tôi) :

sudo -s

tín dụng

Bước 2:

Sau đó, tôi tiếp tục gặp lỗi cho biết:

Không thể gỡ cài đặt [gem] vì nó là đá quý mặc định

Điều này cho phép tôi gỡ cài đặt mọi thứ:

for i in `gem list --no-versions`; do gem uninstall -aIx $i; done

tín dụng

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.