最近想搞一搞Ruby,也正好接触一下Linux,所以在一台Ubuntu 11 64bit上尝试搭建RoR的简单开发环境。
所谓简单的环境,就是能用默认的就用默认的。
首先假设你所使用的Linux系统环境正常,然后开始进行环境的搭建:
这里有一个工具有必要介绍一下,所谓的RVM: Ruby Version Manager,是一个可以让你在同一系统中安装各种版本的Ruby并且方便切换的软件。虽然我暂时不知道Ruby开发中切换版本的需求有多大,但选择这种方法还是一种比较好的选择。
因为我具体也不太懂Linux,所以很多命令都是在尝试成功之后直接贴上了。
1.准备环境
1 | $sudo apt-get install zlib1g zlib1g-dev build-essential |
这一步是必须的,安装了核心的东西,另外zlib1g这个东西如果前期不安装的话后期是会很麻烦的(我已经将顺序进行了调整,因此很多问题已经尽量的避免了),xxxx-dev的包也是必须安装的,这也是后期出问题的一个关键点。
1 | $sudo apt-get install curl git |
这一步是为了安装RVM而准备的。
2.安装RVM
1 | $bash < <(curl -s https://rvm.beginrescueend.com/install/rvm) |
安装过程命令行有详细的提示。安装完毕后,可以根据以下这个命令看一下是否安装成功:
1 | $rvm -v |
如果有类似与版本提示相关而非报错,说明安装成功。如果这里说RVM不是一个命令,最简单的办法是关闭命令行重新打开一个再试。这里又另外一种不用关闭命令行的方法,直接搬运了,需要的可以看一下。
3.安装Ruby
1 | $sudo apt-get install build-essential bison openssl libreadline5 libreadline5-dev curl git-core zlib1g zlib1g-dev libssl-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libmysqlclient-dev |
首先安装Ruby的先决条件。
1 | $rvm install 1.9.2 |
这里假设安装的版本是1.9.2,安装命令非常简单,安装完成后,需要设置默认的Ruby版本如下:
1 | $rvm 1.9.2 --default |
这个时候可以执行:
1 | $ruby -v |
查看当前Ruby的版本,方法同上,碰到检测不到的时候先关闭命令窗口再重新打开。
4.安装Rails
这个过程安装的应该是当前最新的稳定Rails,版本号现在已经是3.0+最高(11.07.19)。安装命令如下:
1 | $gem install rails |
这里是不需要获取管理员权限再执行的,因为据说如果加了sudo的话那么以后这个只能给管理员本人用了,对个人开发者来说意义不大,酌情处理吧。这个时候如果没有正确的执行安装,有可能会报一个找不到zlib之类的错误,恭喜,你开始的准备工作做的不好,请退回到文章开始重新再来一边。如果这时候安装完毕并且看上去是成功了的,那么一样可以通过:
1 2 | $rails -v $gem -v |
这里可以分别看到Rails和负责安装的Gem的版本,如果读取异常,可以关闭命令行重新打开。操作方式完全同上面的查看版本验证方式。
5.验证RoR安装以及问题的解决。
具体的Rails实现就去看技术吧,这里要做的是简单的创建一个项目看看项目是否能正常的运转,这样就算是达到了这个简单开发环境搭建的目的。
创建一个测试项目,假设名称为demo
1 2 3 | $rails new demo //创建一个新的名为demo站点项目 $bundle install //安装相关支持 $rails server //启动Rails内置服务器 |
由于我买的书讲解的是RoR 2.x,所以这里的确让我碰到了一个问题,在2.x中,创建新项目的方式一般为rails 项目名称,而在3.x中变更为了rails new 项目名称。这是一个改变。
bundle install这个可以理解为自动的更新了一些项目运转所需要的程序和文件,在执行bundle install的时候,如果你是按照上面所说的方法安装的,应该会碰到提示sqlite3未正常运转的错误了,因为Rails默认数据库是sqlite,因此需要安装相关的支持:
1 2 3 | $sudo apt-get install sqlite3 $sudo apt-get install libsqlite3-dev $gem install sqlite3-ruby |
接下来是启动服务器以发布网站查看,在执行rails server的时候(这句其实可以缩写为rails s),应该会报另外一个错,是关于openssl的,这个的安装可能会比较麻烦一些:
1 2 | $sudo apt-get install openssl libssl-dev $sudo apt-get install libopenssl-ruby1.9.1 |
这个时候还不行,需要执行另一步操作,由于是使用RVM安装的Ruby,因此需要先定位到Ruby的安装目录,这个目录可以使用类似下面的命令进入:
1 2 3 | $cd ~/.rvm/src/ruby-1.x.x/ext/openssl //1.x.x是你使用的Ruby版本应该 $ruby extconf.rb $make && make install |
这个时候应该是能够正常的通过了,我的测试环境是Ubuntu 11 64bit,其实在Ubuntu上发现某个包没有安装是件很简单的事情,一般情况下直接在命令行里敲上这个包的名字会自动提示你是否安装,并且提示命令,对于新手来说的确是福音。其它的系统因为安装获取方式不一样,不好多说,实在不行就Google一下吧。
剩下的就是体验RoR了,祝大家好运。
另:目前英文版的《Web开发敏捷之道 第四版 (Agile Web Development with Rails, Forth Edition》在亚马逊已经有售。
