Ubuntu下搭建Ruby on Rails开发环境

原来弄过一个Ubuntu系统,但长时间的开发后,弄得比较杂乱,就决定趁这段休息时间重新搞一个Ubuntu虚拟机,把环境重新搭建一下。安装过程中参考了很多其他的文章,但有些地方都没说太细,所以决定自己写一份,一来可以熟悉一下以前不懂的地方,二来做个笔记,记录一下自己的理解,下次再重装就不用到处Google了。

 

先说下准备搭建的开发环境:

VMware + Ubuntu 8.10 + Ruby 1.8.7 + Rails 2.2.2 + MySQL 5.0 + NetBeans 6.5

本来想用Ubuntu 9.10,但那玩意不支持共享文件夹,搞得没法和主机传文件,就还是选8.10了

 

1、安装Ubuntu 8.10

相信没人不会的,我只说一点,Ubuntu装好后要更新的,更新完之后再装vmware-tool,不然更新完后vmware-tool就失效了。共享文件夹的设置是需要装vmware-tool才有效果的。

 

2、安装Ruby 1.8.7

我是编译安装的,据说编译安装效率高一些……我承认我只是想熟悉下编译安装的过程,而且自己装也比较了解安装目录在什么地方(我是打算以后再装一份Ruby 1.9 + Rails 2.3的,用apt怕有什么冲突)。

先安装一些必要的软件

# 安装编译工具
sudo apt-get install build-essential
# 安装一些Ruby必须的库,这些东西也可以在Ruby装好之后再装,但那时就比较麻烦了,所以最好事先装好
sudo apt-get install zlib1g zlib1g-dev
sudo apt-get install libreadline5 libreadline5-dev
sudo apt-get install libncurses5 libncurses5-dev
sudo apt-get install libssl0.9.8 libssl-dev
sudo apt-get install libmysqlclient15-dev 

下载ruby 1.8.7,解压后编译、安装

2010-6-6更新 :如果你从如下的fpt地址下载Ruby源码,可能make时会碰到math.o的错误,这是由于源码根目录下math.o文件第37行有语法错误。

解决方法:

  1. 修改math.o文件,把37行的 define 改成 defined,然后重新make。具体情况可见这里
  2. 自己去 ftp://ftp.ruby-lang.org/pub/ruby/ 下找一个比较新的Ruby版本,然后编译安装。安装过程没有区别。
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7.tar.gz
tar -zxvf ruby-1.8.7.tar.gz

cd ruby-1.8.7
./configure --prefix=/opt/ruby187  # prefix是安装目录
make        # 编译过程,比较长
sudo make install     # 比较快,大概就是复制文件到/opt/ruby187

修改环境变量文件,将ruby的bin目录加入环境变量PATH中,我选择的/etc/profile文件,将以下两行加到文件最下面

# Ruby
PATH="$PATH:/opt/ruby187/bin"

用source命令刷新一下,再测试

source /etc/profile               # 使环境变量马上生效
ruby -v                                # ruby 1.8.7 ......

 

3、安装RubyGems

从rubyforge上下载rubygems,网上是下1.0.1版然后用"gem update --system"升级,我是直接在Windows中下的最新版的tgz文件然后传到Ubuntu中去的
这里有个小技巧,下载后可以看看下载链接,以后就可以直接在Ubuntu中用wget下了

# 用wget直接下载的方式
wget http://files.rubyforge.vm.bytemark.co.uk/rubygems/rubygems-1.3.5.tgz
tar -zxvf rubygems-1.3.5.tgz
cd rubygems-1.3.5
# 我用"sudo ruby setup.rb"总提示找不到ruby的命令,所以就用chmod把ruby安装目录改成最大权限了
chmod 777 -R /opt/ruby187
ruby setup.rb 

测试一下

gem -v      # 1.3.5

 

4、安装Rails 2.2.2

我采取的本地安装,把Rails 2.2.2和相关的gem都放在一个目录下,进入这个目录后输入下面的命令,Rails 2.2.2和相应的gem会自动装好(Rails的本地文件我放在附件中,不想去Rubyforge的可以下附件)

gem install mysql     # 这是mysql的适配器
gem install rails-2.2.2.gem --local
rails -v      # Rails 2.2.2

 

5、安装MySQL

本来想学学下二进制包安装,结果看完教程准备下载时给我一个“Download Access Unavailable”,算了,还是apt吧。
使用apt的话,如果是Ubuntu 8.04,会安装MySQL 5.0版

# 这是mysql主程序
sudo apt-get install mysql-server
# 这是图形化工具,装不装随便
sudo apt-get install mysql-gui-tools-common mysql-query-browser mysql-admin
 

6、安装JDK

下载linux版的JDK安装包,我下的是最新的JDK 6U17,文件名是jdk-6u17-linux-i586.bin
将文件复制到/usr/lib/jvm中,jvm文件夹没有,需要新建一个

sudo mkdir /usr/lib/jvm
cp 你的JDK文件完整路径 /usr/lib/jvm

安装(其实就是解压),网上的教程一般都说要用chmod添加执行权限,但我查看权限时发现已经有执行权限了,就省了那一步
进入/usr/lib/jvm目录后,执行以下命令,注意一定要进入jvm目录,因为JDK的安装路径默认是当前命令行所在的目录,
上次我偷懒在其他地方执行sudo /usr/lib/jvm/jdk-6u17-linux-i586.bin,结果安装位置搞错了……

cd /usr/lib/jvm
sudo ./jdk-6u17-linux-i586.bin

先跳出一排协议,按几下空格就跳过去了,然后让你输入yes或者no,输入yes回车就开始安装

安装后的JDK就在/usr/lib/jvm/jdk1.6.0_17目录下,到此JDK文件就都放好了。
下面设置环境变量,还是放在/etc/profile文件的最后

# Java
export JAVA_HOME="/usr/lib/jvm/jdk1.6.0_17"
export JRE_HOME="$JAVA_HOME/jre"
export CLASSPATH=".:$JAVA_HOME/lib:$JRE_HOME/lib"
PATH="$PATH:$JAVA_HOME/bin:$JRE_HOME/bin"

设定完成后用source命令重新加载一遍,测试一下

source /etc/profile
java -version          # java version "1.6.0_17"
 

7、安装NetBeans 6.5
本来装的是6.8,结果用了两天发现在view中写代码奇慢,不知原因,换成6.5之后正常了。6.8有个方便的新功能,在Rails项目中列出了Ruby的gem,可以直接查看源代码。
安装
从网上下载linux版的NetBeans 6.5,我的NetBeans的文件名是netbeans-6.5-ml-ruby-linux.sh,下面的例子都是用这个文件名。
进入NetBeans文件所在的目录,执行以下命令:

# 同样的,网上教程有写需要增加执行权限,我发现已经有执行权限就没加,如果不放心可以先运行chmod添加权限
sudo chmod +x netbeans-6.5-ml-ruby-linux.sh
sudo ./netbeans-6.5-ml-ruby-linux.sh

至此就很简单了,都是图形化界面。NetBeans默认会安装到/usr/local/netbeans-6.5中。
注意如果你看到的界面汉字都是方块,那是因为JDK的中文字体问题,不用管,装完了我们再来解决。


解决NetBeans的中文乱码问题
NetBeans的中文乱码主要是因为JRE没有中文字体
网上的解决办法一般都是把某字体复制到fallback目录,或者把fallback做成符号链接链到指定的字体文件夹,原理都差不多,然后就看选择的字体了,个人觉得这个字体很不错:
雅黑和Consolas混合字体,本身就混合好了中英文字体,不需要再去JDK中改fontconfig.properties了:
http://www.cnblogs.com/RobertLee/archive/2006/12/25/602646.html
在$JRE_HOME/lib/fonts下建立fallback文件夹,然后将YaHei.Consolas1.12.ttf文件复制进去,这是为了让NetBeans的界面和编辑器显示中文正确

# $JRE_HOME就是先设定的全局变量,如果记得完整路径的话,敲完整路径也可以
cd $JRE_HOME/lib/fonts
sudo mkdir fallback
sudo cp 字体所在路径 ./

这样可以解决中文乱码问题,但NetBeans在中文环境下,编辑器中的中文是没有反锯齿的,所以还要在NetBeans中开启反锯齿:

cd /usr/local/netbeans-6.5/etc
sudo gedit netbeans.conf

在netbeans-default-options的参数里加上 -J-Dawt.useSystemAAFontSettings=on
下次进入NetBeans时文字就顺眼多了
将NetBeans界面语言改为英文的方法
修改上面提到的netbeans.conf文件,在netbeans-default-options的参数里加上 --locale en_US
附带说一句,如果设定为英文,编辑器部分的中文就自动是反锯齿的,不需要额外设置了。

 

总结

这次搭建开发环境还是碰到不少问题,先是装Ruby之前忘了装openssl,导致mysql适配器死活装不上去,最后到Ruby源文件的目录里找了一份openssl编译安装解决了,然后发愁环境变量PATH的配置放在哪儿比较好,再去查export有什么用……但收获也确实很大,原来懵懂的地方也搞清楚了,相信下次安装即使相关软件换了新版的也不是难事。

 

参考资料

JDK和NetBeans的安装与设置,字体那块用的符号链接的方法,也讲了一些原理:
http://www.blogjava.net/sodar-fish/articles/143180.html
解决NetBeans的乱码问题,字体好像是雅黑,但我的Windows 7下没同名的文件,就没照搬,思路可以参考
http://clchun.iteye.com/blog/393051
字体反锯齿
http://yangzhihuan.iteye.com/blog/258301
混合字体的下载,里面也讲了如何自己制作,有兴趣的可以看看:
http://www.cnblogs.com/RobertLee/archive/2006/12/25/602646.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值