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?
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?
Odpowiedzi:
# 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
.
Sposób na usunięcie starych wersji klejnotów.
sudo gem cleanup
Jeśli chcesz zobaczyć listę tego, co zostanie usunięte, możesz użyć:
sudo gem cleanup -d
Możesz także wyczyścić tylko określony klejnot, podając jego nazwę:
sudo gem cleanup gemname
do usuwania określonej wersji, takiej jak tylko 1.1.9
gem uninstall gemname --version 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:
rm /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2.gem
Aby uzyskać więcej informacji:
http://blog.grepruby.com/2015/04/way-to-clean-up-gem-or-remove-old.html
sudo
gem cleanup
używa poleceń systemowych. Zainstalowane klejnoty to tylko katalogi w systemie plików. Jeśli chcesz grupowo usunąć, użyj rm -R
.
gem environment
i zanotuj wartość GEM PATHS
cd <your-gem-paths>/gems
ls -1 |grep rjb- |xargs rm -R
Może być konieczne skonfigurowanie GEM_HOME
czyszczenia do działania. Możesz sprawdzić, jakie ścieżki istnieją dla plików gem, uruchamiając:
gem env
Zapoznaj się z sekcją ŚCIEŻKI GEM.
W moim przypadku na przykład z klejnotami zainstalowanymi w moim domu użytkownika:
export GEM_HOME="~/.gem/ruby/2.4.0"
gem cleanup