Using MacPorts To Install Ruby 1.9.1 and Rails 2.3.0 RC1

Using MacPorts To Install Ruby 1.9.1 and Rails 2.3.0 RC1

WARNING: If you want to live on the edge, please continue with the steps below. Also, please be aware that all gems are not fully compatible with

Ruby 1.9.1 stable release (i.e. 1.9.1p0). Furthermore, this installation requires you to remove ALL Ruby related gems and ports because

we are performing a clean install. Lastly, I am using an experimental machine (i.e. Apple PowerMac G5) to complete this task and I would

NOT advise the below actions within a production environment.

  1. Remove Previous Ruby Ports (i.e. ruby, ruby19, rb-*, and so on) and Gems

a) Ports

sudo port uninstall

sudo port clean

Note: Execute the above for all ruby related ports.

b) Gems

rm -rf /opt/local/lib/ruby

rm -rf /opt/local/lib/ruby19

Note: You may not need to execute both commands and this really depends on what you have installed and how.

  1. Remove Rake ( Optional If It Does Not Exist )

sudo rm -rf /opt/local/bin/rake

  1. Install Ruby 1.9.1, SQLite3, and Mysql 5 Ports

sudo port install ruby19 +nosuffix

sudo port mysql5 +server

sudo port sqlite3

Note: The above ruby19 install generates the required executables without the extension.

  1. Install Rack, Rake, and Rails 2.3.0 Ruby Gems

sudo gem install rack

sudo gem install rake

sudo gem install rails --source=http://gems.rubyonrails.org

  1. Install SQLite 3 Ruby Gem

sudo gem install sqlite3-ruby

  1. Install MySQL 2.8.1 Ruby Gem

sudo gem install kwatch-mysql-ruby – --with-mysql-config=/opt/local/lib/mysql5/bin/mysql_config

  1. Install Thin

sudo gem install thin

  1. Generate Rails Test Application

rails test

  1. Change To The Root Of Rails Application

cd test

  1. Start Thin

script/server thin

Note: The above command produces the above warning message:

warning: encoding option is ignored - N

  1. Navigate To The Site Using Your Browser:

URL: http://localhost:3000

Result: You should see the “Rails Welcome aboard” page.

  1. Now, Let Us Generate A Simple Blog

script/generate scaffold blog title:string text:text

Note: The above command produces the above warning message:

warning: encoding option is ignored - N

  1. Migrate The Database

rake db:migrate

  1. Navigate To The Site Using Your Browser:

URL: http://localhost:3000/blogs

and interact with the Rails application to verify that things are working.

  1. If you made it this far,

you are running Rails 2.3.0 RC1 and Ruby 1.9.1.

Good luck,

-Conrad

Using MacPorts To Install Ruby 1.9.1 and Rails 2.3.0 RC1

WARNING: If you want to live on the edge, please continue with the steps below. Also, please be aware that all gems are not fully compatible with

Ruby 1.9.1 stable release (i.e. 1.9.1p0). Furthermore, this installation requires you to remove ALL Ruby related gems and ports because

we are performing a clean install. Lastly, I am using an experimental machine (i.e. Apple PowerMac G5) to complete this task and I would

NOT advise the below actions within a production environment.

  1. Remove Previous Ruby Ports (i.e. ruby, ruby19, rb-*, and so on) and Gems

a) Ports

sudo port uninstall

sudo port clean

Note: Execute the above for all ruby related ports.

b) Gems

rm -rf /opt/local/lib/ruby

rm -rf /opt/local/lib/ruby19

Note: You may not need to execute both commands and this really depends on what you have installed and how.

  1. Remove Rake ( Optional If It Does Not Exist )

sudo rm -rf /opt/local/bin/rake

  1. Install Ruby 1.9.1, SQLite3, and Mysql 5 Ports

sudo port install ruby19 +nosuffix

sudo port mysql5 +server

sudo port install mysql5 +server

sudo port sqlite3

sudo port install sqlite3

> Using MacPorts To Install Ruby 1.9.1 and Rails 2.3.0 RC1

Thank you. This was extremely helpful.

> sudo gem install kwatch-mysql-ruby --
> --with-mysql-config=/opt/local/lib/mysql5/bin/mysql_config

$ sudo gem install kwatch-mysql-ruby -- --with-mysql-config=/opt/local/
lib/mysql
5/bin/mysql_config
Password:
ERROR: could not find gem kwatch-mysql-ruby locally or in a
repository
Updating class cache with 2296 classes...

$ sudo gem install kwatch-mysql-ruby --source=http://gems.github.com
-- --with-mysql-config=/opt/local/lib/mysql5/bin/mysql_config
Building native extensions. This could take a while...
Successfully installed kwatch-mysql-ruby-2.8.1
1 gem installed

For the archives:

> 9) Start Thin

> script/server thin

Thin works, but WEBrick encounters an error:

    Internal Server Error
    undefined method `each'

See also:
http://groups.google.com/group/rack-devel/browse_thread/thread/3e9d1bb16f977bd4

Yes, this is the expected behavior when trying to use WEBrick instead of Thin.

-Conrad

Conrad Taylor wrote:

It was expected by me. If WEBrick was working, I would had added the following

use case for step (9):

script/server

instead of

script/server thin

Furthermore, WEBrick and Mongrel wasn’t updated to support ruby 1.9.1 at the time I was

putting this tutorial together. Lastly, I plan to turn these instructions into a blog post so that

I can easily update it.

-Conrad

Conrad Taylor wrote:

If WEBrick was working, I would had added the following use case for step (9):

script/server

instead of

script/server thin

Fair enough.

Google brought me here.

2) Install Ruby 1.9.1, SQLite3, and Mysql 5 Ports

     sudo port install ruby19 +nosuffix
     sudo port mysql5 +server
     sudo port sqlite3

     Note: The above ruby19 install generates the required executables
without the extension.

I installed ruby 1.9.1 with the 1.9 suffix, and I think ./script/server
is confused and is trying to run the old ruby stuff that ships with OSX.
Does it mean I have to reinstall everything from scratch with the
+nosuffix flag?

Thanks

I installed ruby 1.9.1 with the 1.9 suffix, and I think ./script/server
is confused and is trying to run the old ruby stuff that ships with OSX.
Does it mean I have to reinstall everything from scratch with the
+nosuffix flag?

Thanks

I confirm I needed to reinstall ruby with +nosuffix. Now it all works,
well except ruby-debug which won't compile :frowning:

I installed ruby 1.9.1 with the 1.9 suffix, and I think ./script/server
is confused and is trying to run the old ruby stuff that ships with OSX.
Does it mean I have to reinstall everything from scratch with the
+nosuffix flag?

Thanks

I confirm I needed to reinstall ruby with +nosuffix. Now it all works,
well except ruby-debug which won't compile :frowning:

If you're using Rails 3, it is recommended that you use Ruby 1.9.2. If this is the case, then you might want to use RVM for installing Ruby by doing the following:

rvm install 1.9.2- head

Good luck,

-Conrad

If you're using Rails 3, it is recommended that you use Ruby 1.9.2.
If this is the case, then you might want to use RVM for installing
Ruby by doing the following:

rvm install 1.9.2- head

Good luck,

-Conrad

I'm still running 2.3.8 until 3 goes official. I'll give a try at RVM.

By the way my machine runs Tiger on a PowerPC, is there any issue I
might run into?

If you’re using Rails 3, it is recommended that you use Ruby 1.9.2.

If this is the case, then you might want to use RVM for installing

Ruby by doing the following:

rvm install 1.9.2- head

Good luck,

-Conrad

I’m still running 2.3.8 until 3 goes official. I’ll give a try at RVM.

By the way my machine runs Tiger on a PowerPC, is there any issue I

might run into?

If you’re using Rail 2.3.8, I would still recommend using Ruby 1.9.2 instead

of Ruby 1.9.1. Why?

http://www.infoq.com/news/2010/03/ruby-192-schedule

Next, I would recommend upgrading to Leopard but you should be good

with Tiger.

Good luck,

-Conrad