在Ubuntu上安装Ruby On Rails

来源:互联网 发布:免费海关数据网 编辑:程序博客网 时间:2024/04/26 15:25

其中我用的是ec2,在开始要到ec2的安全设置中去开放3000端口。

http://guides.spreecommerce.com/getting_started.html

http://forum.ubuntu.org.cn/viewtopic.php?f=63&t=72569&start=0

在Ubuntu下通过apt包管理器安装ror环境是很方便的。我自己写了一个脚本:
sudo apt-get install build-essential gcc g++ libssl0.9.8 libssl0.9.8-dbg libssl-dev build-essential
sudo apt-get install ruby
sudo apt-get install libzlib-ruby rdoc ri irb ruby1.8-dev
sudo apt-get install libzlib-ruby
sudo apt-get install rubygems 

(1)

http://hi.baidu.com/zpdbdh/item/b809d210348ecaef9813d6f2

这段时间学习了一下Ruby,感觉真的是比较容易上手。特别是安装了Ruby On Rails以后,发现通过Ruby On Rails建构网站真的很方便。在这里分享一下我在Ubuntu上安装Ruby On Rails的过程,安装过程比较简单,不容易出错,对Ruby有兴趣的同学们可以安装一个试试,学习一种语言的最有效方式就是快速搭建一个环境开始写代码。
安装过程参考了下面这个教程,该教程的作者是Ubuntu社区的“承古韵”,不确定“承古韵”是不是真名,是的话可真是一个有韵味的名字。http://www.linuxidc.com/Linux/2010-12/30380.htm 


安装之前先准备好Ubuntu环境,具体过程我就不讲了,见http://www.linuxidc.com/Linux/2011-10/46327.htm。
第一步是启动Ubuntu,通过以下命令安装一些相关的库,安装过程一般不会出什么问题。
$ sudo apt-get install gcc g++ build-essential libssl-dev libreadline5-dev zlib1g-dev linux-headers-generic
然后是下载Ruby1.9.2源码,我按教程使用下面的命令下载成功,不过就是下载过程有点慢,大家给点耐心。
$ wget
下载了Ruby源码后,解压,配置,编译,一切正常,命令如下:
$ tar -xvzf ruby-1.9.2-p0.tar.gz
$ cd ruby-1.9.2-p0/
$ ./configure –prefix=/usr/local/ruby
$ make && sudo make install             //这个编译的也太久了,所以还不如直接apt,反正最后有rvm,对ruby进行管理
编译成功后需要修改/etc/environment文件,将Ruby的路径加入环境变量中,让Ruby命令可以直接调用。
开始编辑etc/environment的命令如下:
$ sudo gedit /etc/environment
因为使用gedit,所以会出现图形界面的编辑界面,将Ruby的路径加入环境变量 中并保存/etc/environment,如下面内容:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/ruby/bin"
修改了环境变量文件后,需要通过source命令让修改马上生效,命令如下:
$ source /etc/environment
为了检查安装是否成功,可以输入下面的命令进行测试 :
$ruby –v 
确认安装成功后通过一下命令添加命令链接,目前我也不清楚创建这些链接的目的是什么,按照Ruby“约定大于配置”的原则,应该是一种约定。
$ sudo ln -s /usr/local/ruby/bin/ruby /usr/local/bin/ruby
$ sudo ln -s /usr/local/ruby/bin/gem /usr/bin/gem           //这个在这也是有问题的好像,还不如直接apt-get install rails-gem


以上是安装Ruby,心急的同学可以先测试一下Ruby的基本语法了。不心急的同学跟着后面的步骤安装Rails. 
首先是通过gem命令安装一些组件,命令如下:
$ sudo gem install tzinfo builder memcache-client rack rack-test erubis mail text-format bundler thor i18n
很不幸,在我的环境中执行以上命令时出错,报的错是: 
Could not find a valid gem '…' (>= 0) in any repository
网上查了一下发现好多人都有这种错,原因各种各样,感觉很不靠谱。我自己看看报错信息,就是找不到某些资源的问题。于是怀疑网络层面有问题,干脆翻墙出去试试,问题迎刃而解。至于怎么翻墙,就自己想办法吧,遇到这种问题时候就真的是“你有你的张良计,我有我的过墙梯”了。(怎么,不知道什么是翻墙?你是不是天朝人士?) 


大家注意,以下过程都在翻墙状态下完成。 
另外一个有趣的插曲是我在百度上搜索“ruby on rails could not find a valid gem”,出来百度翻译的结果,结果是“红宝石对钢轨无法找到一个有效的宝石”,有点哭笑不得,只能说它已经尽力了。 
安装了以上组件后,通过gem继续安装,命令如下:
$ sudo gem install rack-mount
$ sudo gem install rails 
一切顺利,安装完成后注意要执行一下命令让新的环境变量生效:
$ source /etc/environment  
然后通过以下命令检查Rails安装是否成功:
$ rails –v 
安装了Rails以后安装MySQL数据库,命令如下,在我的环境中安装过程一切正常:
$sudo apt-get install mysql-server libmysqlclient-dev libmysql-ruby
$sudo gem install mysql
安装完mysql后会有一个配置过程,关键就是设置mysql数据库的root用户的密码,按照你的喜好设置一个密码,一定要记住,后面要用的。 
然后是安装spree框架,命令如下:
$sudo gem install spree
安装时报错,说找不到libxml2库,在这里我折腾了好久,因为不断发现有其他库没有安装。为了方便大家,直接将需要的库列出来,他们是:libxml2 libxml2-dev和libxslt1-dev。
安装命令如下:
sudo apt-get install libxml2 libxml2-dev libxslt1-dev 
安装后再次执行spree安装命令:
$sudo gem install spree
安装成功! 
安装完了就开始测试了,创建一个简单的应用测试一下。
通过一下命令创建应用,注意其中的xxx是你的应用名:
$rails new xxx -d=mysql
$cd xxx 
我使用的应用名是first,所以命令如下:
$rails new first -d=mysql
$cd first 
进来first目录就可以看到创建的各个子目录了,充分体现了Ruby的“约定大于配置”的原则,很多目录和文件都按约定创建好了。 
因为数据库有密码,所以需要配置一下mysql配置文件,配置文件是config/database.yml,通过gedit打开并进行修改,database.yml文件的内容大概是下面这样的:
development:
adapter: mysql2
encoding: utf8
database: blog_development
pool: 5
username: root
password:
socket: /tmp/mysql.sock
 
修改是需要在password: 一行填写你的mysql数据库密码,
注意!! 这个文件里有三个地方需要填写这个密码的,我第一次测试时只填写了一个,后面创建数据库时就一直出错,搞了老半天。 
因为要用spree框架,所以需要编辑Gemfile文件,在里面添加一句
gem 'spree' 
然后后执行下面的命令创建数据库:
$ bundle install             //这个命令对于加依赖是非常好的,所以有问题用一下就好了
$ rake db:create 
执行“rake db:create”时在我的环境中出错,错误信息如下:
“Could not find a JavaScript runtime” 
为了解决这个问题,需要再次修改Gemfile文件,加入下面两行:
gem 'execjs'
gem 'therubyracer' 
加完保存后再次执行bundle install命令安装组件
$ bundle install
然后再执行“rake db:create”就没问题了
$ rake db:create 
最后一步,通过以下命令启动服务器:
$rails server  
启动后在Ubuntu上打开浏览器访问地址http://localhost:3000 

访问结果如下,到此就安装成功了,开始做你的Ruby on Rails项目吧。


(2)

http://my.oschina.net/alexwu/blog/49635

本指南是这篇文章《Ubuntu, Ruby, RVM, Rails, and You》的中文翻译,它将指导你在Unbuntu安装Ruby 1.9.3,RVM和Rails 3.1.3。以下步骤已在ubuntu 11.04下验证通过,吼吼!

如果你需要在产品服务器安装ruby on rails,我会推荐你使用railsready脚本,这个脚本会自动安装ruby 1.9.3p0,bundler,rails,以及相关的包。

在任何情况下,我们都不建议你通过apt-get来安装ruby,rubygems或者ruby相关的包。apt-get上面的都比较老,有时会让你非常头大。请不要贪图一时的便利,相信我们。

本指南会依次说明安装:RVM(ruby版本管理器),ruby(1.9.3),rails和bundler。

在本指南的最后,你将会把以上的几个东东安装好,并且掌握一些简易的方式来管理不同应用的gem的依赖包。而且可以一次性安装多个不同的ruby版本。

我们假设你有sudo的权限,并且你明白ruby的一些基本概念,比如“什么是rubygems?”,“我如何打开ruby里的某个东东?”。你可以通过阅读任何一本ruby教材的第一章获得这些问题的答案。

系统更新

首先,我们跑一下系统更新,以避免我们因为包相关的问题而不能安装某些包。

sudo apt-get update

接着我们安装git,curl(安装RVM时需要)和build-essential(编译ruby时需要)

sudo apt-get install build-essential git-core curl

RVM

RVM是Wayne E. Seguin创造的ruby版本管理器。它对安装和管理多个不同的ruby版本很有帮助。某些时候你可能会遇到老项目需要老版本的ruby,新项目需要新版本的ruby。RVM可以非常优雅地解决这个问题。

在这里我们只安装一个ruby版本。

安装好git-core和curl以后,我们就可以通过下面这个命令安装RVM了

bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

这样做的一个好处是它会在我们的home目录下安装一个ruby的运行环境。

接下来我们在~/.bashrc加入一行配置,然后我们就可以很舒服的使用RVM了。

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"#加入到~/.bashrc

然后让我们的shell重新加载一次配置

. ~/.bashrc

接下来我们查看安装ruby所必需的包

rvm requirements

留意上面的命令的输出,复制粘贴里面的apt-get安装命令并执行

sudo apt-get install build-essential openssl libreadline6 libreadline6-dev \curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 \libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev \ncurses-dev automake libtool bison subversion

接下来我们就可以舒服的使用ruby啦!

RUBY

我们先用RVM安装ruby 1.9.3

rvm install 1.9.3

这个命令要跑比较久。你可以去喝杯茶,嘿嘿。跑完以后,我们需要应用一下1.9.3版本。

rvm --default use 1.9.3

最后我们验证一下ruby是否安装成功

ruby -v

如果你看到1.9.3的相关信息输出,那就说明ruby已经安装好了。

RAILS
接下来我们可以通过rubygems这个工具要安装rails。
不过在安装之前,我们先设置一下rubygems的镜像地址。这里推荐使用taobao的Rubygems镜像

gem sources --remove http://rubygems.org/gem sources -a http://ruby.taobao.org/gem sources -l

请确保最后的命令的输出里面只有 ruby.taobao.org。

镜像配置好以后,就可以开始安装rails 3.1.3

gem install rails -v 3.1.3

这个命令会自动安装rails以及几十个相关的gems依赖包,包括bundler。

如果你以后要用 Bundler (Rails 项目),建议你修改相关的Gemfile将http://rubygems.org/ 改为 http://ruby.taobao.org/。

source 'http://ruby.taobao.org/'gem 'rails', '3.1.1'

Mysql2
安装Mysql2的gem包

apt-get install libmysqlclient16-devgem install mysql2

PostgreSQL
安装PostgreSQL的gem包

apt-get install libpq-devgem install pg

大功告成
现在你可以开始学习ruby on rails并开始开发自己的第一个ROR项目啦。你可以参考ROR官方指南好好的学习学习。