Ruby, Rails, OSX and Linux fun
HOWTO'S, TUTORIALS AND PERSONAL EXPERIENCE
Jul302011
Bye Bye Macports, Welcome Homebrew
Definition
Homebrew: The missing package manager for OS X
Homebrew: The missing package manager for OS X
Why? well, the reality is, macports is not that good anymore.
Once you have many packages installed and start updating, everything start to break apart, lot’s of failing packages.
Once you have many packages installed and start updating, everything start to break apart, lot’s of failing packages.
Homebrew is very easy to install, it’s fast and simple. That means you can make your own homebrew formula for your package so easily. oh, and homebrew is in ruby! :)
Back to topic, this is you how you get rails with mysql up and running with homebrew and rvm.
Clean up
To make sure to have a clean install, I recommend removing any previous .rvm installation and previous Xcode.
# rm -rf ~/.rvm/ # sudo rm -rf /Developer
1. Xcode
Install Xcode from AppStore. it’s 3 GB download so it may take a while.
after it’s downloaded it will not install automatically, you need to open Applications and install again from there. the name will be “Install Xcode”
after it’s downloaded it will not install automatically, you need to open Applications and install again from there. the name will be “Install Xcode”
Update: If you don’t want to download and install huge XCODE (3.0GB) :
https://github.com/kennethreitz/osx-gcc-installer
It allows you to install the essential compilers, GCC, LLVM, etc.
PS: I have not tested it
Thanks JP for the tip.
https://github.com/kennethreitz/osx-gcc-installer
It allows you to install the essential compilers, GCC, LLVM, etc.
PS: I have not tested it
Thanks JP for the tip.
2. Install HomeBrew
UPDATE: in the comments some people recommended to do create the folder “/usr/local/Cellar” before hand, due to some bug on homebrew.
mkdir -p /usr/local/Cellar
# /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
Installation instructions: https://github.com/mxcl/homebrew/wiki/installation
3. install RVM
# bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
then after RVM is installed run this 'one-line' command.
# echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
Details instructions: http://beginrescueend.com/rvm/install/
4. Install ruby 1.9.2
OS X Lion comes with Ruby-1.8.7-p249, but we all want ruby 1.9.2 right?
# rvm install 1.9.2 # rvm use ruby-1.9.2 # gem install rails thin bundler ....
I tested both ruby-1.9.2-head and ruby-1.9.3, latest sources from git, and it works well with all my apps.
With Ruby-1.9.3-head, Rails booted a lot faster.
If you wish to try 1.9.3:
With Ruby-1.9.3-head, Rails booted a lot faster.
If you wish to try 1.9.3:
# rvm install 1.9.3-head
Optionally you might want to install GIT, wget,
ack, imagemagick
and other mighty software tools for daily use.
ack, imagemagick
and other mighty software tools for daily use.
# brew install git ack wget curl redis memcached libmemcached colordiff imagemagick
5. Install Mysql
# brew install mysql
one-line command:
# mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
Once mysql is installed you might want it to load automatically each time you start your mac.
# mkdir -p ~/Library/LaunchAgents # cp /usr/local/Cellar/mysql/5.5.14/com.mysql.mysqld.plist ~/Library/LaunchAgents/ # launchctl load -w ~/Library/LaunchAgents/com.mysql.mysqld.plist
*check that the version I use here is 5.5.14
6. Troubleshooting:
if you have problems with mysql "cannot connect to /tmp/mysql.sock"
then create a file /usr/local/etc/my.cnf and add this:
then create a file /usr/local/etc/my.cnf and add this:
[client] port = 3306 socket = /tmp/mysql.sock [mysqld] bind-address = 127.0.0.1 port = 3306 socket = /tmp/mysql.sock
if encounter errors with homebrew run this command and follow recommendations:
# brew doctor
update: If you end up with Segmentation fault or cannot install Ruby-1.8.7, you might want to try this solution:
# export CC=/usr/bin/gcc-4.2 # rvm install ruby-1.8.7
by the way this is my /usr/local/etc/my.cnf optimized file, when using this file you may have to recreate your db
# mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
[client] port = 3306 socket = /tmp/mysql.sock [mysqld] event_scheduler = ON skip-character-set-client-handshake collation_server = utf8_unicode_ci character_set_server = utf8 bind-address = 127.0.0.1 port = 3306 socket = /tmp/mysql.sock max_connections = 20 table_open_cache = 256 max_allowed_packet = 32M binlog_cache_size = 1M max_heap_table_size = 64M read_buffer_size = 2M read_rnd_buffer_size = 4M sort_buffer_size = 8M join_buffer_size = 512k thread_cache_size = 2 thread_concurrency = 2 query_cache_size = 16M query_cache_limit = 2M default-storage-engine = INNODB thread_stack = 192K transaction_isolation = REPEATABLE-READ tmp_table_size = 64M # MyISAM Options key_buffer_size = 64M bulk_insert_buffer_size = 64M myisam_sort_buffer_size = 128M myisam_max_sort_file_size = 1G myisam_repair_threads = 1 myisam_recover # INNODB Options innodb_additional_mem_pool_size = 16M innodb_buffer_pool_size = 128M innodb_thread_concurrency = 2 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 4M innodb_log_file_size = 8M innodb_log_files_in_group = 3 innodb_max_dirty_pages_pct = 90 innodb_flush_method = O_DIRECT innodb_lock_wait_timeout = 120 innodb_file_per_table [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash [myisamchk] key_buffer_size = 128M sort_buffer_size = 128M read_buffer = 16M write_buffer = 16M [mysqlhotcopy] interactive-timeout
Posted by admin at 2:06 am
35 Responses to “Installing Rails on OS X Lion with HomeBrew, RVM and Mysql”
Leave a Reply
Frederico Araujo
Categories
Tags
Great Blogs
Links
News
Recommended Linux VPS
Archives
- November 2011 (1)
- October 2011 (1)
- August 2011 (1)
- July 2011 (2)
- January 2011 (2)
- November 2010 (1)
- August 2010 (1)
- July 2010 (2)
- June 2010 (1)
- June 2009 (2)
- January 2009 (2)
- December 2008 (1)
- November 2008 (3)
- August 2008 (2)
- July 2008 (1)
- March 2008 (1)
- December 2007 (1)
I also deleted the /Developer folder before installing new Xcode, to avoid keeping old files.
cheers.
ran into an issue with vanilla Lion install on a new macbook air. “usr/local/Cellar” was not create with homebrew.
just do “brew install git”
cheers
2. How do I find and view all the RDoc documentation it keeps reporting has been installed?
no, install nginx with this command
brew install nginx
1 gem installed
Installing ri documentation for rails-3.1.0…
file ‘lib’ not found
Installing RDoc documentation for rails-3.1.0…
file ‘lib’ not found
This is because rdoc loads this directory to generate the documentation. By default, this is “lib”.
And the rails gem does not have any lib directory.
A fix should arrive soon.
rm -rf ~/.rvm/
sudo rm -rf /Developer
I will ONLY delete the /Users/username/.rvm/ folder and /Developer/ Folders, nothing else.
I should have warned caution with those 2 commands. :p
You don’t have write permissions into the /usr/bin directory.