Get Ruby and Rails running on Ubuntu with one command
thechangelog.com
thechangelog.com
<@insomnia> it only takes three commands to install Gentoo
<@insomnia> cfdisk /dev/hda && mkfs.xfs /dev/hda1 && mount /dev/hda1 /mnt/gentoo/ && chroot /mnt/gentoo/ && env-update && . /etc/profile && emerge sync && cd /usr/portage && scripts/bootsrap.sh && emerge system && emerge vim && vi /etc/fstab && emerge gentoo-dev-sources && cd /usr/src/linux && make menuconfig && make install modules_install && emerge gnome mozilla-firefox openoffice && emerge grub && cp /boot/grub/grub.conf.sample /boot/grub/grub.conf && vi /boot/grub/grub.conf && grub && init 6
<@insomnia> that's the first oneWhy not just do this?
1) Update whatever requirements you need via APT tool of choice.
2) Install rvm
3) Install ruby-1.9 using rvm
4) gem install rails
5) Write great rails app.For a newbie, have them walk through it, but for the repeated process, then automate it.
http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you
Sadly it languished with no upvotes. :( I found it extremely useful, however!
But if you've got one application running one version of Ruby, then this is definitely a perfect way to go.
And there's something in the inner-sysadmin in me that sees "curl http://example.com/foo.sh && ./foo.sh" and shudders. That sounds like a receipe for disaster.
Otherwise that line would be:
sudo aptitude install ruby1.9.2-full && sudo gem install railsIf wanting an easier way to install Rails for beginners makes me an idiot, then I'm proud of it ;)
Note that this solution also compiles stuff on your machine, and in this case it uses system-wide installation locations. One advantage of rvm is that everything is done as a regular user and sandboxed in $HOME/.rvm. Easy to find and remove, if anything goes wrong or you change your mind later.
(Edited because I misread the command line.)
curl -O https://github.com/wayneeseguin/rvm/blob/master/contrib/boot... && source bootstrap_rails_environment
This automates installing the prerequisites across many Linux package management types and then bootstraps a Rails development environment using RVM.
-Why Ruby 1.8.7 and not 1.9.2?
-I've installed 1.8.7, 1.9.2 & 1.9.2-head via RVM without having libyaml-dev or libffi-dev installed (I see they're listed in `rvm notes`). Any idea what's up here?
Thanks!
wget https://github.com/joshfng/railsready/raw/master/railsready.... && bash ./railsready.sh
Besides the "1" command is really 4.
If you are setting up enough VM's that you need this you should have something like puppet installed and don't need this. If you are setting up one machine then do it by hand. Know the tools you have installed and keep track of them it will make deployment easier.
wget -qO- https://github.com/joshfng/railsready/raw/master/railsready.sh | /bin/bash-What's extglob used here for? I don't see any regexes.
-What are libffi-dev and libyaml-dev for? I assume some common gems depend on them. If so, which? (I'm just getting into Rails.)
-Git in the Maverick repos is old (1.7.1, which was released in April). Installing it from source is probably a better idea.
-You should probably use RVM to install Ruby, since its 1.9.2-head target won't require you to keep updating your script with 1.9.2's patchlevel.
-In my rails3.sh (which I should really publish), I didn't need to `gem install bundler` in order for `bundle install` to work. Probably because `rails` depends on `bundler`.
-That sudo check is neat, and I'd like to lift it; what's this script's license?
When building Ruby the output complained about some missing deps. libffi-dev and libyaml-dev made Ruby stop complaining about them :)
Bundler is installed on the system because you don't have to install Rails on the system. You could simply put Ruby on there, install bundler then when you upload your app and run "bundle" it will pull down Rails and any gems your app depends on. Having Bundler available on the system is needed if you don't install the Rails gem system wide.
Use the script however you see fit and feel free to take from it what you like :)
This is great for starting out a new machine and getting things setup, but running the update and upgrade commands without consideration of what's being updated could cause a lot of headaches if any existing sites running on the server have dependencies that are botched by the upgrade.
If anyone else wants to try, or is otherwise interested, I wrote a step-by-step guide to getting Rails on Ubuntu with RVM: http://news.ycombinator.com/item?id=2113525
Debian has some differences.
/usr/local/bin/rvm: line 73: /home/myuser/.rvm/scripts/rvm: No such file or directory
Whats wrong here?
Follow-up: partial output of ./configure --help in a Ruby source directory:
> By default, `make install' will install all the files in `/usr/local/bin', `/usr/local/lib' etc. You can specify an installation prefix other than `/usr/local' using `--prefix', for instance `--prefix=$HOME'.