mac上搭建ruby mysql rails环境-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

mac上搭建ruby mysql rails环境

简介:

安装前的准备:


Mac OS X 10.4 (Tiger)
2 开发工具 –Xcode2.0或者更高版本 (预置机器里没有被安装!)在系统盘cd1里可以找到安装文件,如果没有则可以去apple developer connection 下载最新版本。
3 热衷于使用UNIX命令行
4 一瓶娃哈哈,或者其他健康&&好喝的饮料

预设路径(非常重要):


Mac OS X 的命令行程序Terminal存在于/Application/Utilities 文件夹里
双击打开Terminal,输入:
nano ~/.bash_login

(nano是terminal内置的文本编辑器,编辑完毕后使用”control+o”存盘或者”control+b”推出并存盘。此外,也有许多人使用textmatecodasubethaedit或者BBedit等等。这些编辑器都可以支持命令行激活。)
若没有,将以下移行输入到.bash_login里
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"

如果安装了macport或者fink这样的软件,.bash_login可能已被输入了类似的
PATH="...:$PATH"

现在以及以后如果出现这样的情况,将PATH里未被定义的路径直接加入里面,并用 “:” 隔开。比如:
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
中加入
PATH="/usr/opt/bin:/usr/opt/sbin:$PATH"
则变为:
export PATH="/usr/local/bin:/usr/local/sbin:/usr/opt/bin:/usr/opt/sbin:$PATH"

安装前设置:


双击打开Terminal,输入:
sudo mkdir -p /usr/local/install
sudo chgrp admin /usr/local/install
sudo chmod -R 775 /usr/local/install
cd /usr/local/install

install文件夹将用来存放所有的临时文件,建议不要在安装结束后立即删除。一旦安装出错,我们可以从安装文档的记录文件查到错误信息。

安装Ruby:


在install文件夹里,建议将每行代码在每次系统输出之后拷贝+复制到terminal窗口里,这样更为方便。
在安装ruby之前,我们首先需要做下准备工作——安装readline:
curl -O [url]ftp://ftp.gnu.org/gnu/readline/readline-5.2.tar.gz[/url]
tar xzvf readline-5.2.tar.gz
cd readline-5.2
./configure --prefix=/usr/local
make
sudo make install
cd ..

如果在安装过程中输入 ./configure 一行后出现下列信息:
checking whether make sets $(MAKE)... no
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH

这表示你没有按照安装手记进行安装并且没有安装Xcode2.0

下一步我们开始安装ruby 1.8.6
curl -O [url]ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz[/url]
tar xzvf ruby-1.8.6.tar.gz
cd ruby-1.8.6
./configure --prefix=/usr/local --enable-pthread --with-readline-dir=/usr/local --enable-shared
make
sudo make install
sudo make install-doc
cd ..

如果看到许多文字流上去而没有出现错误,代表ruby安装成功了。
验证ruby安装我们输入:
ruby -v

应当显示类似:
ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-darwin8.9.1]

如果显示仍然是:
ruby 1.8.2 (2004-12-25)

显示的是MacOsX预装的ruby版本,代表ruby1.8.6安装不成功,检查.bash_login并且重新启动terminal。

RubyGems


RubyGem是类似apt-get或fink这样的软件包管理软件,通过rubygem可以轻易安装或卸载所有使用ruby开发的软件包
curl -O [url]http://files.rubyforge.mmmultiworks.com/rubygems/rubygems-0.9.4.tgz[/url]
tar xzvf rubygems-0.9.4.tgz
cd rubygems-0.9.4
sudo /usr/local/bin/ruby setup.rb
cd ..

Ruby an Rails 1.2.3


可以通过rubygems直接安装:
sudo gem install rails --include-dependencies

如果出现类似:
/usr/local/bin/gem:3:in `require': No such file to load -- rubygems (LoadError)
from /usr/local/bin/gem:3

Gem无法找到设置文件,代表初始路径PATH设置不正确。

Mongrel


Mongrel是整合了ruby HTTP库的独立服务器程序。
使用rubygems:
sudo gem install mongrel --include-dependencies

安装过程中会出现对话框要求选择你的开发平台,类似以下:
Select which gem to install for your platform
1. mongrel 1.0.1 (ruby)
2. mongrel 1.0.1 (mswin32)
3. mongrel 1.0 (mswin32)
4. mongrel 1.0 (ruby)
5. Skip this gem
6. Cancel installation

所有的对话框都应当选择最靠上并且旁边附带ruby的选项,所以这个对话框中应当选择”1” 

SubVersion


这是由Jeremy Whitlock维持的SVN安装包,针对Mac操作系统优化并包括ruby bindings。
最新版本可以去这里下载:
svn download page

Capistrano


Capistrano是将rails程序的发布步骤自动化的软件,可以使用自己编写的‘rake 菜单’(recipe)来调整不同服务器的发布脚本。
sudo gem install capistrano --include-dependencies

另外termios工具可以阻止在capistrano在发布过程中显示管理员密码
sudo gem install termios --include-dependencies

若在你的项目使用capistrano,在项目的根目录里输入:
cap --apply-to .

这样会建立config/deploy.rb和部分rake的脚本。

MySQL


MySQL安装包直接将MySQL安装到/usr/local/文件夹里,使我们不必在本机上重新编译,省去了许多时间。
1. 下载mysql 5.0(intel mac)
2. 双击安装包 mysql-5.0.41-osx10.4-i686.pkg
3. 安装MySQL startup item pkg
4. 安装MySQL.prefPane
安装结束之后,在开始任何事情之前,运行:
mysqladmin -u root password a_good_password

设定管理员密码,如果没有设置密码则默认为空。
许多苹果开发人员都喜欢小用一下 Cocoa MySQL。这个软件提供了MySQL的图形用户界面
在这里下载:Cocoa MySQL
针对于MySQL的默认设置,启动Cocoa MySQL以后在Host填入localhost, User里填入root就可以找到自己的运行中的数据库了。

MySQL Native Binding


我在安装的时候遇到一些麻烦,网络上也有许多的安装方法。在此我将给出我机器安装成功的方法,稍后我会补充一些相应的其他网站的教程作为比较。
curl -O [url]http://tmtm.org/downloads/mysql/ruby/mysql-ruby-2.7.tar.gz[/url]
tar xzvf mysql-ruby-2.7.3.tar.gz
cd mysql-ruby-2.7.3
ruby extconf.rb --with-mysql-config
make
sudo make install
cd ..

如果出现错误,尝试:
curl -O [url]http://tmtm.org/downloads/mysql/ruby/mysql-ruby-2.7.tar.gz[/url]
tar xzvf mysql-ruby-2.7.3.tar.gz
cd mysql-ruby-2.7.3
ruby extconf.rb
make
sudo make install
cd ..

这样MySQL binding应该运行无误了。
如果在运行rake db:migrate中依然出现以下错误:
$ rake db:migrate
(in /Users/jeremy/rails/depot)
dyld: NSLinkModule() error
dyld: Library not loaded: /usr/local/mysql/lib/mysql/libmysqlclient.
15.dylib
Referenced from: /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7/lib/
mysql.bundle
Reason: image not found
Trace/BPT trap

则运行:
cd /usr/local/mysql/lib
sudo mkdir mysql
Password: *************
cd mysql/
sudo ln -s ../libmysqlclient.15.0.0.dylib libmysqlclient.15.0.0.dylib
sudo ln -s ../libmysqlclient.15.0.0.dylib libmysqlclient.15.dylib
sudo ln -s ../libmysqlclient.15.0.0.dylib libmysqlclient.dylib

安装结束


饮料基本也喝完了,现在你拥有了一套自己搭建的Ruby&&Rails开发环境!
运行以下程序
rails testapp
cd testapp
./script/server

一切顺利之后,我们会有下列输出
=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails application starting on [url]http://0.0.0.0:3000[/url]
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment...
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready. TERM => stop. USR2 => restart. INT => stop (no restart).
** Rails signals registered. HUP => reload (without restart). It might not work well.
** Mongrel available at 0.0.0.0:3000
** Use CTRL-C to stop.

打开浏览器输入localhost:3000,把你朋友叫来告诉他,Here is the red pill..




本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/73168,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章