Install vs. zip

Can anyone explain me one bitter fact of Ruby: you always need two things - Internet connection and installation? Why is it so hard to make something the guys at IBM made with Eclipse or something that Cygwin partially made with their UNIX on Windows or such projects? I will stick to Eclipse, which really rocks.

Is it so hard to make a zip file (like Instant Rails does) for every part of the structure. For example, Instant Rails has MySQL, while I want PostgreSQL. It uses Apache, while I want lighttpd. Or I want version X instead of version Y for any of these? Currently, I have to use the installer of all the above and use Ruby Gems and whatever?

Why? For example, I just downloaded Ruby for cygwin, then I cleared it (moved everything from /usr/local to /ruby), then I donwloaded Ruby Gems and downloaded everything for Rails. Ok, then I deleted everything and reinstalled everything using the cached gems and it worked. No network connection, nothing. So why is it so hard to do it as a zip file? Make ruby.zip, gems.zip and rails.zip which really contains what I have right now on my machine. Of course, make it automatically when the installer is made, so the latest files go to the zip.

Really, for me all the automatics over which you don't have any control (gems and apt-get come to my mind right now) is really bugging me. Yes, I am new to these waters, so I am really not in the position to tell anything to the people that made all this stuff, but one thing comes to my mind. Ruby and Rails are really cool stuff and all the buzz for "convention over configuration" really fits into this story I am telling - why not make everything has its place where it should be installed and just unzip? I don't have anything against automatic updates - in fact, they are cool - but I have much against automatic (network) installs being the only option. Especially if there is no need for that (I made a working non-install copy of ruby, gems, rails, not so much trouble when you know how to do it, but until that moment...).

Please tell me what you think, your experiences and finally whether you would prefer (or at least want) this or not. I would especially like the replies from people that are used to work with e.g. Eclipse or people that like to compile the code under Linux.

Thanks for your response.

What platform are you working on Linux or Windows?

Windows, mostly, however I am very fond of Linux. Debian is something I am trying to "convert" to.

Every platform Windows or Linux has conventions that dictate how

applications are distributed and installed. Why fight them? You life will be much simpler if you don't. < Agree. My post is just a wish for a better world. People who built Ruby and Rails and Gems and all this fancy stuff just had a history to look at. Basically, when you have Eclipse, why do something Windows way, even if that is platform-default? Ruby doesn't need anything that depends on the installer (contrary to e.g. MS Office, which writes to the registry and whatever) - it's a bunch of files in one folder. If this is all Ruby/Gems/Rails needs, why restrict anyone to have the waste the time installing the things - copying from my friend's distribution is much faster then downloading all the things from the Net and also brings the settings with you. Apparently, I can do that once I have installed everything - I can do a verbatim copy and everything will work pretty fine. Well, why rubyforge.rog doesn't behave as my imaginary friend from which I would simply copy ruby.zip and voila - I have ruby.

But you are right - fighting these rules is something that would lead to a lot of wasted time on my side, at least.

You can install standard distribution components directly, not by using

apt-get but by instead by putting the appropriate *.deb files on a disk and installing them with something like 'dpkg -i *.deb'. The same goes for using gems you can install those with 'gem install gemfilename.gem'. < I agree with this, but to install Rails you have to install 7 gems:    1. Activesupport    2. Actionpack    3. Actionmailer    4. Activerecord    5. Actionwebservice    6. Rake    7. Rails according to Peak Obsession.

I found this page and it is really not a big pain to do this (you need approximately 10 minutes to do this). However, I lost a lot trying to find this page. I guess people would pretty much like "Save As..." of a zip (or tar.gz or .bz2) which you would unzip and start running.

The point is in possibility - if you have a (very easily achievable) possibility to do something really useful (you didn't comment on whether this is useful or not - do you think so), why don't do it? OK, people have a lot of other things to work on - but wouldn't they have me help them maybe? Yes, if I only could install it...

Thanks again!

In general though what you're asking for doesn't seem to make sense to me. Simply put gems does offer advantages over *.zip file distribution. You should investigate those advantages to understand why people have decided to go that route.

OK, I agree with this. Gems are awfully similar to deb, rpm and such packages. Yes, they offer a lot.

You complain that rails is split across several gems. Have you considered that each of those is a stand alone library that can (and often is) used without rails? I use ActionMailer and ActiveRecord quite often without rails.

No, I don't complain rails being split across several gems. In fact, I am in for this solution. This allows exactly what you said - reusability.

I complain about being unable to take one zip (or gem, deb, rpm, tar.gz, bz2, arj, rar - I don't really care about the format) and install it only using that file. Basically, all the existing formats I know of: rpm, deb, gem, ... - take care of dependencies. You cannot take one file and install everything - you need an automatic packaging system to decide what the dependencies really are. All these offer advantage over zip - the metadata that goes with them is important. However, they have a disadvantage that you don't have everything in one place.

You complain that you had to know to install each of them but when you use gems you don't need to know anything, only the gems maintainer needed to understand these dependencies. Had you used the gems off-line and tried to install the rails gem it would of prompted you 'by name' for the missing dependencies.

Yes, this is true.

I realize the learning curve can be steep when you're doing new things but when lots of people are doing something one way I'd recommend learning why they do it before trying to blaze a new trail. In the end maybe the trail needs to be blazed but quite often you'll find out everyone's not as dumb as you think :wink:

Heh... This is a very nice comment. I would like to clarify my "ways" prior to saying more. I don't thing everyone is dumb (or at least dumber). I really respect people that made all the things about Ruby - and not only Ruby - many, many GNU things, for example deserve huge respect.

It's not that I think they are dumb, it's what you said in the first sentence - everybody has its own way of doing something. I also agree with you that I shouldn't have tried to do it my way when there is a ready solution for me which seems simple - "one click" and install. I agree that I should have learned why the things are as they are.

However, I still long for the solution that doesn't need installations when they are necessary. I still don't think they are necessary for the most of what we've covered in this post.

Anyway, to conclude - you think that if there is a solution A and solution B and 98% of people use solution A, I should - in at least 98% of the cases - really consider not using solution B and simply using solution A? Do you work like this normally in your life? How many times do you change settings? How many times you search for the alternative solution when there is something that bothers you?

Thanks!