Oude versies van Ruby-edelstenen verwijderen

Ik heb verschillende versies van een Ruby-edelsteen:

$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)

Hoe kan ik oude versies verwijderen maar de meest recente behouden?


Antwoord 1, autoriteit 100%

# 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'

Antwoord 2, autoriteit 40%

Voor het verwijderen van oudere versies van allegeïnstalleerde edelstenen zijn de volgende 2 commando’s handig:

gem cleanup --dryrun

Bovenstaande opdracht geeft een voorbeeld van welke edelstenen zullen worden verwijderd.

gem cleanup

Het bovenstaande commando zal ze daadwerkelijk verwijderen.


Antwoord 3, autoriteit 2%

Manier om oude versies van edelstenen op te ruimen.

sudo gem cleanup

Als u alleen een lijst wilt zien van wat er zou worden verwijderd, kunt u het volgende gebruiken:

sudo gem cleanup -d

Je kunt ook alleen een specifieke edelsteen opschonen door de naam op te geven:

sudo gem cleanup gemname

alleen voor het verwijderen van een specifieke versie zoals 1.1.9

gem uninstall gemname --version 1.1.9

Als je nog steeds te maken hebt met een uitzondering om edelsteen te installeren, zoals:

ongeldige edelsteen: pakket is beschadigd, uitzondering tijdens verificatie: ongedefinieerde methode `grootte’ voor nil:NilClass (NoMethodError) in /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6 .6.2.gem

de, u kunt deze uit de cache verwijderen:

rm /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2.gem

Voor meer details:

http:// blog.grepruby.com/2015/04/way-to-clean-up-gem-or-remove-old.html


Antwoord 4, autoriteit 2%

Probeer iets als gem uninstall rjb --version 1.3.4.


Antwoord 5

gem cleanupgebruikt systeemcommando’s. Geïnstalleerde edelstenen zijn slechts mappen in het bestandssysteem. Gebruik rm -Rals u batchgewijs wilt verwijderen.

  1. gem environmenten noteer de waarde van GEM PATHS
  2. cd <your-gem-paths>/gems
  3. ls -1 |grep rjb- |xargs rm -R

Antwoord 6

bundler clean

Ik heb het bericht niet meer weergegeven, als laatste stap nadat ik al het bovenstaande had geprobeerd.


Antwoord 7

Mogelijk moet u GEM_HOMEinstellen om het opruimen te laten werken. U kunt controleren welke paden er zijn voor gemfiles door het volgende uit te voeren:

gem env

Let op de sectie GEM PATHS.

In mijn geval, bijvoorbeeld met edelstenen geïnstalleerd in mijn gebruikershome:

export GEM_HOME="~/.gem/ruby/2.4.0"
gem cleanup

Other episodes