Ruby On Rails是一个用Ruby语言写的开源Web框架,和J2EE,PHP等类似。Ruby On Rails是一个非常优美的Web开发框架,并且融入了敏捷开发的精髓:约定大于配置。你会发现,它真的是一个非常优美的框架!今天我们介绍如何在Ubuntu下搭建Ruby On Rails开发环境。

1.

既然Ruby On Rails使用Ruby语言写的,那我们应该首先安装Ruby,在官网http://rubyonrails.org下载源代码。官网包括了从零开始到搭建完整Ruby On Rails开发环境的所有工具。我下的Ruby版本是ruby-1.9.3-p0.tar.gz

2.

解压,安装:

./configure --prefix=/usr/local --enable-shared --disable-install-doc --with-opt-dir=/usr/local/lib

make

sudo make install

3.

在终端输入:ruby -v 如果安装正确应该会输出Ruby版本号,如下所示:

4.

下面我们用Ruby语言写一个Hello World:

新建test.rb文件,输入如下内容:

  1. # Simple test  
  2. puts 'hello, world!'  
  3. puts 2*3  

Ruby中的#表示该行是注释,puts函数表示输出一个字符串

然后在终端输入:

ruby -w test.rb

-w表示在执行过程中给出警告信息。

结果如下:

至此,我们已经搭建好了Ruby环境,如果你只想学习Ruby语言的话,到这里就可以了。

5.

安装Ruby On Rails:

sudo gem install rails

这一步非常耗时,我在网速很好的情况下也要1个小时左右

如果中间出现问题,反复重试!我就是这样的。

安装好后的结果如下图:

另外如果出现类似于“Installing ri documentation for rails-3.2.3... file 'lib' not found”的错误,执行下面的命令就可以了:

gem install rdoc

另外文末还附了几个常见的错误及解决办法。
rails安装好了,我们输入gem -vrails -v检查,如下所示:

这样Ruby On Rails开发环境就算搭建好了。唉~真累!!!

6.

下面我们测试以下,这里的例子就是官网的getting started:

http://guides.rubyonrails.org/getting_started.html

mkdir test
cd test
rails new blog


会在当前目录test下创建一个blog文件夹,这就是我们的Web根目录:

在创建过程中会要求输入密码,就是sudo的密码,输入就可以了:

等待大概5分钟,就创建好了,如下图:

7.

新建一个sqlite3数据库:

cd blog

rake db:create

8.

最后我们启动服务器,Rails内置了一个WEBrick的Web服务器:

rails server.

在浏览器中输入http://localhost:3000/,哈哈,我们的Ruby On Rails开发环境终于搭建好了,真是累啊!

 

 

 

 

 

常见的问题及解决办法:

1.

rails new blog的时候提示:

Ubuntu下搭建Ruby On Rails_ruby

原因是没有安装libyaml,解决办法:

wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz

tar xzvf yaml-0.1.4.tar.gz
cd yaml-0.1.4
./configure --prefix=/usr/local
make
sudo make install

然后重新安装Ruby(上面第2步)

 

 

2.

同样在rails new blog的时候提示:

Ubuntu下搭建Ruby On Rails_官网_02

这是因为在系统的PATH目录中包含了一个可写的目录,这可能会有隐患,解决办法:

sudo chmod go-w /opt/skyeye/bin

注意:这里的目录会有所不同,但错误的原理是一样的

 

 

3.

rake db:create的时候提示:

Ubuntu下搭建Ruby On Rails_sqlite_03

解决办法,安装Node.js:

sudo apt-get install nodejs

 

4.(leo chin add)

ails报错:checking for sqlite3.h... no

 

解决方法:

sudo apt-get install  libsqlite3-dev