# Feature request: "make uninstall"

**URL:** <https://www.ruby-forum.com/t/feature-request-make-uninstall/58072>\
**Category:** Ruby\
**Created:** [April 18, 2006, 7:08am UTC](https://www.ruby-forum.com/t/feature-request-make-uninstall/58072 "2006-04-18T07:08:38Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![John\_MSGabriele](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/f0a364/32.png) [@John\_MSGabriele](https://www.ruby-forum.com/u/John_MSGabriele)\
**Post date:** [April 18, 2006, 7:08am UTC](https://www.ruby-forum.com/t/feature-request-make-uninstall/58072/1 "2006-04-18T07:08:38Z")

</div>

Hi,

I think it would be occasionally very useful if Ruby’s  
makefile had a make uninstall target. From what little I  
know of the automake/autoconf tools, this make not be a  
very difficult target to add.

I realize that there are alternatives like GNU stow,  
but have never used them, since most software I install  
in /usr/local usually has an uninstall target.

I also see that it’s probably not too terribly difficult  
to sift through those /usr/local directories manually  
uninstalling an older, un-needed (or possibly botched up)  
Ruby installation. But, why not make that into a simple  
“make uninstall” instead?

A “make uninstall” also can save you if you mis-  
configure and then install, and then want to back out  
cleanly.

As an aside: In general, I think that one measure of  
how folks gauge a piece of software is how easy it is  
to uninstall. IMO, making it easy for your users to  
remove your software from their system shows that  
you’re confident they will generally tend not to use  
such functionality. 🙂

Thanks,  
—John

---

<div class="post-metadata">

**Author:** ![John\_MSGabriele](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/f0a364/32.png) [@John\_MSGabriele](https://www.ruby-forum.com/u/John_MSGabriele)\
**Post date:** [April 18, 2006, 7:20am UTC](https://www.ruby-forum.com/t/feature-request-make-uninstall/58072/2 "2006-04-18T07:20:46Z")

</div>

On Apr 18, 2006, at 1:07 AM, John M. Gabriele wrote:

> As an aside: In general, I think that one measure of
> 
> * * *
> 
> Do You Yahoo!?  
> Tired of spam? Yahoo! Mail has the best spam protection around  
> [http://mail.yahoo.com](http://mail.yahoo.com)

I realize that your asking for a feature that has its uses but I’d  
like to offer you an alternative solution.

I will often use a prefix when building from source, especially since  
I rarely build packages from source. So for instance when i  
configured ruby I did

./configure --prefix=/usr/local/ruby

this has the advantage of uninstall being simply

rm -rf /usr/local/ruby

The other advantage is if I need ruby 1.6 or 1.9 I can install it  
alongside 1.8

e.g.

./configure --prefix=/usr/local/ruby16

It’s not so hard to add /usr/local/ruby/bin to your path

---

<div class="post-metadata">

**Author:** ![John\_MSGabriele](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/f0a364/32.png) [@John\_MSGabriele](https://www.ruby-forum.com/u/John_MSGabriele)\
**Post date:** [April 18, 2006, 8:49am UTC](https://www.ruby-forum.com/t/feature-request-make-uninstall/58072/3 "2006-04-18T08:49:41Z")

</div>

— Logan C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > 
> 
> I realize that your asking for a feature that has its uses but I’d  
> like to offer you an alternative solution.
> 
> I will often use a prefix when building from source, especially since  
> I rarely build packages from source. [snip]

Thank you for the very good suggestion Logan. I’ll  
use that method in the future.

Though, I still think an uninstall target would be  
a useful addition for those cases where:

A. Maybe some other admin installed Ruby using the  
usual incantation (./configure; make; make install)  
and now you’ve got to remove it or update it.

B. Maybe someone new to Ruby didn’t think to change  
the prefix because it’s not _too_ common to need to,  
and down the road they need to remove it. (Note, the  
PickAxe doesn’t mention changing the --prefix).

C. Most projects that I’ve come across that use  
the autoconf/automake have an uninstall target, and  
it actually breaks the principle of least surprise  
not to have one. 🙂

I googled for this topic, and found something from  
back in 2003 (subj: “Ruby newbie uninstall question?”).  
So, I figured that either there’s a good reason why  
there’s no uninstall, or else maybe it’s just some  
little thing that’s been overlooked.

Is there a reason for leaving out the uninstall  
option?

Thanks,  
—John
