Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Do I have to manually uninstall all dependent gems?

I tried to uninstall datamapper using the command gem uninstall dm-core.

But it seems that a whole bunch of dependent gems also need to be uninstalled.

C:\>gem uninstall dm-core  You have requested to uninstall the gem:         dm-core-0.9.11 dm-migrations-0.9.11 depends on [dm-core (= 0.9.11)] dm-cli-0.9.11 depends on [dm-core (= 0.9.11)] dm-serializer-0.9.11 depends on [dm-core (= 0.9.11)] dm-timestamps-0.9.11 depends on [dm-core (= 0.9.11)] dm-aggregates-0.9.11 depends on [dm-core (= 0.9.11)] dm-types-0.9.11 depends on [dm-core (= 0.9.11)] dm-is-tree-0.9.11 depends on [dm-core (= 0.9.11)] dm-observer-0.9.11 depends on [dm-core (= 0.9.11)] dm-validations-0.9.11 depends on [dm-core (= 0.9.11)] If you remove this gems, one or more dependencies will not be met. Continue with Uninstall? [Yn]  n ERROR:  While executing gem ... (Gem::DependencyRemovalException)     Uninstallation aborted due to dependent gem(s) 

I tried finding documentation on "gem uninstall" but there doesn't seem to be a way to uninstall the dependencies automatically:

C:\>gem help uninstall Usage: gem uninstall GEMNAME [GEMNAME ...] [options]    Options:     -a, --[no-]all                   Uninstall all matching versions     -I, --[no-]ignore-dependencies   Ignore dependency requirements while                                      uninstalling     -x, --[no-]executables           Uninstall applicable executables with out                                      confirmation     -i, --install-dir DIR            Directory to uninstall gem from     -n, --bindir DIR                 Directory to remove binaries from         --[no-]user-install          Uninstall from user's home directory                                      in addition to GEM_HOME.     -v, --version VERSION            Specify version of gem to uninstall         --platform PLATFORM          Specify the platform of gem to uninst all    Common Options:     -h, --help                       Get help on this command     -V, --[no-]verbose               Set the verbose level of output     -q, --quiet                      Silence commands         --config-file FILE           Use this config file instead of defau lt         --backtrace                  Show stack backtrace on errors         --debug                      Turn on Ruby debugging     Arguments:     GEMNAME       name of gem to uninstall    Summary:     Uninstall gems from the local repository    Defaults:     --version '>= 0' --no-force --install-dir C:/Ruby18/lib/ruby/gems/1.8     --user-install  C:\> 

Am I missing something?

like image 433
Hola Avatar asked Jun 04 '09 20:06

Hola


People also ask

How do I uninstall Ruby Gems Mac?

Uninstall Ruby on Mac with rbenv For rbenv, use rbenv versions to see which versions you have installed. Use the uninstall command to remove a version. This will remove any gems associated with the version as well. If you want to reinstall Ruby, see Install Ruby on Mac for recommendations of newer version managers.


2 Answers

gem list | cut -d" " -f1 | xargs gem uninstall -aIx deletes all installed ruby gems!

like image 163
Bruno Tavares Avatar answered Sep 19 '22 03:09

Bruno Tavares


As far as I know you're correct, there is not an easy way built-in to the gem command to do this.

However, you can check out gem-prune which can help clean up your gem repository after you've removed dm-core.

http://github.com/ddollar/gem-prune/tree/master

like image 27
Jonathan R. Wallace Avatar answered Sep 23 '22 03:09

Jonathan R. Wallace