1,2. I would highly recommend doing it on Linux. You can easily do
this while still using Windows by using virtual machine software such
as VirtualBox(virtualbox.org) or Vmware(vmware.com). Go with
Virtualbox. It's pretty good and easy to use and FREE. You won't
have to worry about rebooting or dual-booting. It will let you run
Linux under Windows. So, just install Ubuntu into it. I recommend
Ubuntu 8.04 desktop. Afterwards, just google how to install RoR onto
Ubuntu 8.04 and you'll get a couple of good pages with great step by
step instructions. It won't as hard as you think.
3. I found the Agile Web Dev with Rails book to be very good for
getting started over a year ago. It takes you through a simple
project and get your familiar with the basic stuff. Afterward it runs
through more detailed information you'll probably want to also use.
4. If your deployment environment is Linux, then go development in
Linux. It'll make your life easier when you encounter and solve
problems on linux during development instead of running into them when
you deploy.
I use Vista Business edition. You shouldn't have any problems with
VirtualBox. I use Vmware player, but it's a bit harder to setup
initially so I can't recommend that for now. Just download the Ubuntu
iso file from ubuntu.com and use that as a cd image in virtualbox.
The instructions for installing Ubuntu as straight forward. I
recommend 8GB disk space on virtualbox for this.
I don't know what your background in programming is, but Programming
Ruby would be good to read after ~100pages of the Rails book. If you
need more background in programming, maybe the Learn to Program book
might be useful. You'll only need basic linux commands for most of
what you'll do. Quick google searches will help you. I haven't read
any linux books, so I can't suggest anything. I think you'll be
surprised at how easy Ubuntu will be to use.
I recommend using Netbeans as a development environment after you do
your first couple of projects. Do the first projects following the
book as it will give you a good foundation for understanding how
things work.
We are using VMWare on Vista, and having no problems. I have had a bit of
a look at VirtualBox, but the tools for vmware seem a bit more complete.
On the 'harder to set up' issue, there are appliances that you can
download that are pretty much a complete ubuntu vm. Just download and away
you go.
Yup, you are correct. It's possible to download a VMware appliance
that has Ubuntu. I actually haven't tried any premade appliances
yet.
I used to use VMware server until they changed it so I couldn't really
use it as standalone. I'm using VMware player now but using my own
empty template so I can set up any OS I want.
The other thing to consider (I had a quick look at VirtualBox the other day) is that the VMWare vms are portable across OSs, while VirtualBox's aren't
So, if you are using vmware, your dev vm on vista will run on vmware player on Linux, but this doesn't apply for VirtualBox. However, they have some sound reasons for this, including making the vm files smaller.
I recommend using Netbeans as a development environment after you do
your first couple of projects.
I'm going to disagree rather strongly here. Rails doesn't seem to lend
itself all that well to "heavy" IDEs like Eclipse (which I used to use,
and would probably still use for Java) and NetBeans (haven't used, but
seems like the same niche). I've had much better luck with simpler
tools like jEdit (see http://marnen.livejournal.com for setup info) and
KomodoEdit (my current choice), or even plain editors like TextWrangler.
(BTW, Eclipse and NetBeans *still* don't do word wrap reliably. WTF?)
you are disagreeing rather strongly based on a program that you have
never
used?
I should have been clearer. Based on the research I've done about
NetBeans, and on how the program is marketed, it seems that its
Eclipse-like nature and what I understand to be a heavy JRuby
implementation are not really the way I want to go about Rails
development. I might still try it, but I believe (if the info I have is
accurate) that it is the wrong direction to go for Rails, at least for
the way I like to work.
We use netbeans as our Rails dev environment, and have had no problems
at
all.
I wasn't exactly talking about problems. I never really had any
*problems* as such with Rails and Eclipse. It just got to feel like
trying to run wearing ski boots after a while, and I didn't like that.
I'll turn around the question: why NetBeans? What makes such an
apparently heavy IDE worthwhile for Rails? I'd be very interested to
know.
I should have been clearer. Based on the research I've done about
NetBeans, and on how the program is marketed, it seems that its
Eclipse-like nature and what I understand to be a heavy JRuby
implementation are not really the way I want to go about Rails
development. I might still try it, but I believe (if the info I have is
accurate) that it is the wrong direction to go for Rails, at least for
the way I like to work.
not sure what you mean by a heavy JRuby implementation. You can select which ruby to use. Out of the box it installs JRuby, but you can switch this to normal ruby easy enough.
I wasn't exactly talking about problems. I never really had any
*problems* as such with Rails and Eclipse. It just got to feel like
trying to run wearing ski boots after a while, and I didn't like that.
I had that feeling trying to use Eclipse for both C++ and Java. I think it is an offshoot of the fact it is written in Java, whereas (and I might be corrected here) Netbeans is written in C++.
I'll turn around the question: why NetBeans? What makes such an
apparently heavy IDE worthwhile for Rails? I'd be very interested to
know.
We were already using Netbeans for our Java dev, so it was natural to try it for Rails. The debugging is pretty good, and the project management side seems better than Eclipse (that said, I haven't tried eclipse for several years now). I guess mostly, once you are using it, there isn't anything that is annoying me enough to want to try something else.
Hi everyone - thanks for all of the input. Here's an update:
I did install VirtualBox on my Vista and got the latest ubuntu and
created a virtual drive etc., installing it.
I'm now up and running with Vista and Ubuntu
I managed to figure out how to install ruby with a sudo command. But,
having a lot of other issues. I'm not all that familiar with linux so
here's the list of issues I'm experiencing:
I'm currently using ruby1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
according to ruby -v.
I managed to get rubygems by typing sudo apt-get install rubygems1.8 and
that installed the gems system.
I did gems install rails and got a strange error saying that I don't
have /home/elricstorm/.gem/ruby/1.8/bin in your path...
I went out on the web and figured out how to change path by doing..
I tried installing hpricot, mysql, a few others and keep getting the
following error:
WARNING: Installing to ~/.gem since /var/lib/gems/1.8 and
/var/lib/gems/1.8/bin aren't both writable...
Building native extensions. This could take a while...
Error: Error installing mysql:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb install mysql
extconf.rb:1:in `require`: no such file to load --mkmf (LoadError) from
extconf.rb: 1
.. I get this for a few gems, similar...
Any help with my newbish run at linux would be appreciated. Also, what
should I be using for an editor to program with on linux.. On windows I
just used Scite..
In my case I had to do sudo gem uninstall --install-dir
"/path/to/directory" NameOfGem to uninstall all of mine because gem
uninstall could not find them. I did that first by just doing a locate
(name of gem) to see which directory it was in.
I uninstalled all the gems and then I uninstalled Ruby using the
following:
sudo apt-get remove rubygems ruby irb ri rdoc ruby1.8-dev
.. that solved the uninstall issues.
Installing Ruby 1.9.1 and Rails
I created a checklist of everything I did when installing ruby and rails
from source in case someone else has the same issues I did. Here's the
instructions.
Prep Tools and Libraries
1. Download latest 1.9.1 source and place in Directory/src.
2. Go to terminal and type the following:
3. TYPE sudo apt-get install build-essential wget libreadline5-dev
libncurses5-dev zlib1g-dev libsqlite3-dev libssl-dev
Installing Ruby Source
1. Go to src directory on desktop via terminal.
2. Type ls to see name of package.
3. Type tar xvzf (name of package)
4. Type rm *.gz (to remove the .gz src file)
5. Type cd ruby(tab) to finish dir typing
6. Type autoconf (to check if autoconf is there)
7. Type sudo apt-get install autoconf (to install autoconf)
8. Type autoconf
9. Type ./configure --prefix=/usr --enable-pthread
10. Type make
11. Type sudo make install
Check Versions
1. Type ruby -v (should be latest version)
2. Type gem -v (should be latest version)
3. Type sudo gem update (everything should be up to date)
4. Type irb (to access IRB)
5. Type RUBY_VERSION (should show latest version)
Install Rails and other gems
1. Type sudo gem install rails sqlite3-ruby rubygems-update test-unit
capistrano rspec
2. Type rails -v (to check rails version)
3. Type rails testapp
4. Type cd testapp
5. Type script/server
6. Open Browser
7. Type http://localhost:3000
Everything should be running fine. In my case I'm up and running. As a
new user to linux I had to research several sites to find all the
information.
For IDE, I would suggesst Aptana's RadRails (http://www.aptana.com/
rails).
It is based on Eclipse and designed well to implement/deploy RoR
applications
(it has a nice feature called AptanaCloud which lets you deploy RoR
applications
in the cloud in minutes). One thing to remember, building RoR
applications is just
one part of the equation, with the other being deployment. There are
several solutions
around for this (mongrels+rails, apache+phusion-passenger+rails, etc.)
and they all
require certain level of Linux expertise. That is what makes an IDE
like RadRails sweet:
it will take care of the deployment part for you so you can focus on
building the application
and not have to configure a Linux Box with server capabilities.