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/[email protected]/cache/nokogiri-1.6 .6.2.gem
de, u kunt deze uit de cache verwijderen:
rm /home/rails/.rvm/gems/[email protected]/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 cleanup
gebruikt systeemcommando’s. Geïnstalleerde edelstenen zijn slechts mappen in het bestandssysteem. Gebruik rm -R
als u batchgewijs wilt verwijderen.
gem environment
en noteer de waarde vanGEM PATHS
cd <your-gem-paths>/gems
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_HOME
instellen 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