Mam kilka wersji klejnotu Ruby:
$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)
Jak mogę usunąć stare wersje, ale zachować najnowsze?
# remove all old versions of the gem
gem cleanup rjb
# choose which ones you want to remove
gem uninstall rjb
# remove version 1.1.9 only
gem uninstall rjb --version 1.1.9
# remove all versions less than 1.3.4
gem uninstall rjb --version '<1.3.4'
Do usuwania starszych wersji wszystkich zainstalowanych klejnotów przydatne są 2 polecenia:
gem cleanup --dryrun
Powyższe polecenie wyświetli podgląd klejnotów, które zostaną usunięte.
gem cleanup
Powyższe polecenie spowoduje ich usunięcie.
Spróbuj czegoś takiego
gem uninstall rjb --version 1.3.4
.źródło
Sposób na usunięcie starych wersji klejnotów.
Jeśli chcesz zobaczyć listę tego, co zostanie usunięte, możesz użyć:
Możesz także wyczyścić tylko określony klejnot, podając jego nazwę:
do usuwania określonej wersji, takiej jak tylko 1.1.9
Jeśli nadal masz jakiś wyjątek, aby zainstalować klejnot, na przykład:
niepoprawny klejnot: pakiet jest uszkodzony, wyjątek podczas sprawdzania: niezdefiniowana metoda `size 'dla nil: NilClass (NoMethodError) w /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2. klejnot
możesz go usunąć z pamięci podręcznej:
Aby uzyskać więcej informacji:
http://blog.grepruby.com/2015/04/way-to-clean-up-gem-or-remove-old.html
źródło
sudo
gem cleanup
używa poleceń systemowych. Zainstalowane klejnoty to tylko katalogi w systemie plików. Jeśli chcesz grupowo usunąć, użyjrm -R
.gem environment
i zanotuj wartośćGEM PATHS
cd <your-gem-paths>/gems
ls -1 |grep rjb- |xargs rm -R
źródło
Może być konieczne skonfigurowanie
GEM_HOME
czyszczenia do działania. Możesz sprawdzić, jakie ścieżki istnieją dla plików gem, uruchamiając:Zapoznaj się z sekcją ŚCIEŻKI GEM.
W moim przypadku na przykład z klejnotami zainstalowanymi w moim domu użytkownika:
źródło