感谢支持
我们一直在努力

在Ubuntu上安装Ruby On Rails

这段时间学习了一下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 ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz


下载了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


编译成功后需要修改/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



以上是安装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项目吧。

赞(0) 打赏
转载请注明出处:服务器评测 » 在Ubuntu上安装Ruby On Rails
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏