-
-
Save IanVaughan/2902499 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash | |
uninstall() { | |
list=`gem list --no-versions` | |
for gem in $list; do | |
gem uninstall $gem -aIx | |
done | |
gem list | |
gem install bundler | |
} | |
#rbenv versions --bare | |
RBENVPATH=`rbenv root` | |
echo $RBENVPATH | |
RUBIES=`ls $RBENVPATH/versions` | |
for ruby in $RUBIES; do | |
echo '---------------------------------------' | |
echo $ruby | |
rbenv local $ruby | |
uninstall | |
done |
You are a life-saver. Thank you.
:)
I am new to Ubuntu and I want to know how do you run this script. Any suggestions?
@konstantin0s
I am sure you may have found the solution by now but just in case, check this:
https://askubuntu.com/questions/38661/how-do-i-run-sh-files
Thank you!
Thanks. Saved us the trouble
Thanks!
I elaborated a version to cleanup only old versions of the gems:
#!/bin/sh
RBENVPATH=`rbenv root`
echo $RBENVPATH
RUBIES=`ls $RBENVPATH/versions`
for ruby in $RUBIES; do
echo '---------------------------------------'
echo $ruby
rbenv local $ruby
gem cleanup
done
I elaborated a version to cleanup only old versions of the gems:
#!/bin/sh RBENVPATH=`rbenv root` echo $RBENVPATH RUBIES=`ls $RBENVPATH/versions` for ruby in $RUBIES; do echo '---------------------------------------' echo $ruby rbenv local $ruby gem cleanup done
nice script, thank you
Updated solution needed, because of the following header:
*** LOCAL GEMS ***
*** LOCAL GEMS ***
aasm (5.3.0)
abbrev (default: 0.1.1)
ace-rails-ap (4.3)
etc...
Fix:
--no-verbose
is what removes the header.
(We may need another fix in the future if things change again)
#!/bin/bash
gem_remove() {
gem list --no-versions --no-verbose | xargs gem uninstall -aIx
gem list
}
gem_remove_all() {
#rbenv versions --bare
RBENVPATH=`rbenv root`
echo $RBENVPATH
RUBIES=`ls $RBENVPATH/versions`
for ruby in $RUBIES; do
echo '---------------------------------------'
echo $ruby
rbenv local $ruby
gem_remove
done
}
I don't include gem install bundler
at the end.
Many times in Rails, Gemfile.lock will include a specific bundler version, so I prefer to just install that version manually.
cool 👍