`
irfen
  • 浏览: 202944 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux 上安装 ruby on rails 环境

 
阅读更多

      最近在搞Ruby On Rails 的学习,本想在苹果操作系统上学习的,后来想了下还是在Linux上吧,也是希望能够巩固一下Linux。

      先说下我的环境:Red Hat Enterprise Linux 6.0 + Jdk 1.6 + ruby 1.8.7 + ree 1.8.7 2011.12 [1.8] + rails 3.1.1 + RubyMine 3.2.4 + mysql。

 

(一)安装Linux

      我用的是vmware8.0虚拟机跑的,安装Linux时,当我把光盘镜像选择后,他会自动检测出我用的Linux版本,不是到是我没有找到还是没有把法选择,他会自动使用Easy Install, 通过简单的设置用户密码,自动安装操作系统。我就是用这种方式安装操作系统了,倒也很省事,不过就是root的密码是你向导里设置的密码。

 

(二)安装Ruby on Rails 环境

      首先安装ruby, 然后是gem, 然后是 rails 。不过这之中有点小问题,那就是ruby以来yaml, gem需要readline, zlib, openssl ,需要先安装这些的依赖文件。

      于是,先解决用yum安装这些,还有一个问题就是会出现“This system is not registered with RHN”错误。解决方案如下:

 

1.卸载rhel的默认安装的yum包

查看yum包
rpm -qa|grep yum

卸载之
rpm -qa|grep yum|xargs rpm -e --nodeps

2.下载新的yum包

wget http://centos.ustc.edu.cn/centos/6/os/i386/Packages/yum-3.2.29-22.el6.centos.noarch.rpm
wget http://centos.ustc.edu.cn/centos/6/os/i386/Packages/yum-metadata-parser-1.1.2-16.el6.i686.rpm
wget
http://centos.ustc.edu.cn/centos/6/os/i386/Packages/yum-plugin-fastestmirror-1.1.30-10.el6.noarch.rpm

并且安装之
rpm -ivh yum-*

注意:yum和yum-fastestmirror相互依赖,所以同时安装即可。

3.下载yum的配置源

wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo

4.修改配置源

[base]
name=CentOS-6 - Base
baseurl=http://centos.ustc.edu.cn/centos/6/os/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-6

#released updates
[update]
name=CentOS-6 - Updates
baseurl=http://centos.ustc.edu.cn/centos/6/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#packages used/produced in the build but not released
[cr]
name=CentOS-6 - cr
baseurl=http://centos.ustc.edu.cn/centos/6/cr/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-6 - Extras
baseurl=http://centos.ustc.edu.cn/centos/6/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-6 - Plus
baseurl=http://centos.ustc.edu.cn/centos/6/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users
[contrib]
name=CentOS-6 - Contrib
baseurl=http://centos.ustc.edu.cn/centos/6/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

[fasttrack]
name=CentOS-6 - fasttrack
baseurl=http://centos.ustc.edu.cn/centos/6/fasttrack/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

 

赞一下咱们的公司,就不用到国外的网站了,速度蛮快的。

5.全部更新

把修改后的CentOS-Base.repo复制到/etc/yum.repos.d/目录下,重命名为rhel-debuginfo.repo,并在该目录下执行yum update进行统一更新(或者需要更新什么就更新什么就好),完成即可,这下安装软件什么的就比较方便了,不然的话,呵呵,那就有得你忙了。。。Linux软件包的依赖关系那是相当的头痛。

 

      安装了需要的依赖文件,就开始安装ruby吧~

      我使用了较为方便的rvm安装,https://rvm.beginrescueend.com/rvm/install/这里是简单的安装介绍。

#安装RVM
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )

 

       接下来安装ruby

#显示可用的安装
[root@localhost ~]# rvm list known

# MRI Rubies
...
[ruby-]1.8.7[-p334]
[ruby-]1.8.7-head
...
[ruby-]1.9.2[-p180]
[ruby-]1.9.2-head
ruby-head

# JRuby
jruby-1.2.0

...

 我这里安装的1.8.7版本

rvm install 1.8.7

 

设置使用这个版本

rvm use 1.8.7 --default

 

接下来安装ree

rvm install ree

 

 接下来要使用gem安装rails,但是gem所依赖的上面说的三个包还没有安装,使用下面三个命令获得

rvm pkg install readline

rvm pkg install zlib

rvm pkg install openssl

 

     

      因为这几个是ruby需要的,所以还需要分别安装进去,官网上说是可以先安装这些包,再安装ruby ree,但是我试过了还是不成功。所以还是后安装这些,在下载配置完上面的内容之后,分别运行如下命令:

cd /usr/local/rvm/src/ruby-1.8.7-p357/ext/readline
ruby extconf.rb -- --with-readline-dir="/usr/local/rvm/usr"
make install

cd /usr/local/rvm/src/ruby-1.8.7-p357/ext/zlib
ruby extconf.rb -- --with-zlib-dir="/usr/local/rvm/usr"
make install

cd /usr/local/rvm/src/ruby-1.8.7-p357/ext/openssl
ruby extconf.rb -- --with-openssl-dir="/usr/local/rvm/usr"
make install

 

 这样以来的东西就安装好了。

在这里面还有个问题就是zlib没法下载成功,原因大家都懂,,我这里面提供下载连接http://download.csdn.net/detail/irfen/4027922

大家把这个下载的文件放到  /usr/local/rvm/archives目录下,在运行rvm pkg install zlib时就不用下载直接配置安装了。

      接下来是安装rails ,这里大部分人应该都知道了,淘宝提供镜像了,这样我们下载和安装的速度可以快很多了。http://ruby.taobao.org/

 

      可以修改gem的源,淘宝网上说是http://rubygems.org,但是这个系统上后面有/ ,可能有的没有吧,但是如果不加的话,是删不掉的,这个小细节。。

$ gem sources --remove http://rubygems.org/
$ gem sources -a http://ruby.taobao.org/
$ gem sources -l
*** CURRENT SOURCES ***

http://ruby.taobao.org/
# 请确保只有 ruby.taobao.org
$ gem install foo

 

这里还需要更改一个地方,因为之后使用rails的时候是使用bundle更新的,所以还需要修改 /usr/local/rvm/gems/ree-1.8.7-2011.12@global/gems/bundler-1.0.21/lib/bundler/templates/Gemfile 文件,source 改成 淘宝的

source 'http://ruby.taobao.org/'

gem 'rails', '3.1.1'
...

 

这样下载真的很快。

 

      接下来就进入到rails的安装了,下面很简单了,

gem install rails

 

还有什么根据提示安装就好了。

 

(三)接下来安装RubyMine

      运行rubymine需要java环境,我用的是jdk-6u30-linux-i586-rpm.bin安装,之后设置JAVA_HOME,export,让她随系统启动。这些大家很清楚了,我就不多说了。

 

      接下来就可以安装rubymine了,嗯,这个不用安装,绿色版的,把它解压之后进入bin运行rubymine.sh即可使用了(这里还是再次提醒下运行rubymine是需要JAVA_HOME的)。

 

(四)新建个项目吧

      我这里先用命令行新建的项目

rails new railsDemo

 

      之后在rubymine中引入目录,在rails application setting 中选择ree, rails3.1.1, 勾选preconfigure for selected database,选择mysql,OK。

      在database.yml中development模式输入上mysql的密码,在mysql中创建相应的数据库。

 

      接下来进行数据库迁移,快捷键ctrl+alt+g弹出窗口,选择scaffold,填入article title:string content:text,别的不用改,article 是model, 后面是表字段。

      创建成功后会自动打开article的controller,找到db下面的migrate下面article对应的文件,右键,Cteate "db:migrate" ,弹出对话框直接OK,窗口上方绿色箭头左边变为 db:migrate ,点击绿色三角,运行后数据迁移,之后在选择绿色三角左边,选成development模式,再次点击绿色三角运行,接下来我们就可以输入http://localhost:3000进行访问了。访问成功,然后在访问我们创建的article,需要输入http://localhost:3000/articles,然后就可以看到啦~!

 

0
0
分享到:
评论
1 楼 irfen 2012-01-20  
大家有什么问题,可以联系我留言哈,我写的有什么问题欢迎互相讨论!!

相关推荐

Global site tag (gtag.js) - Google Analytics