最近用rails做了一个项目,分享一下开发环境搭建方面的信息。

一、基本信息

操作系统:CentOS 6.x
数据库:PostgreSQL 9.x
Ruby版本:2.x
Rails版本:4.x

二、基本软件

1.nodejs
rails中解析js的部份库会用到js引擎,nodejs较为高效,所以配置nodejs。
1). 下载nodejs Linux二进制包,nodejs的安装包可以在这里找到 http://www.nodejs.org/download/
wget http://nodejs.org/dist/v0.10.22/node-v0.10.22-linux-x86.tar.gz

2).解压到/usr/local目录
tar -xzf node-v0.10.22-linux-x86.tar.gz -C /usr/local/

3). 建立软链接方便后期版本替换
ln -s node-v0.10.22-linux-x86 node

4). 添加环境变量
vim /etc/profile

1
2
3
# 在unset -f pathmunge之前加入如下两行,因为要用到pathmunge,所以要加在unset之前。
export NODE_HOME=/usr/local/node
pathmunge $NODE_HOME/bin

2.PostgreSQL
1). 添加9.x源,rpm源的列表可以在这里找到 http://yum.postgresql.org/repopackages.php#pg93
rpm -i http://yum.postgresql.org/9.3/redhat/rhel-6-i386/pgdg-centos93-9.3-1.noarch.rpm

2). 安装并初始化

1
2
3
yum install postgresql93-server postgresql93-contrib postgresql93-devel
service postgresql-9.3 initdb
chkconfig postgresql-9.3 on

3). 修改配置

1
2
3
4
5
6
7
8
9
10
cd /var/lib/pgsql/9.3/data/
vim pg_hba.conf

# 将原有 127.0.0.1 这一行中的indent修改为md5,并加下localhost这一行的配置
host all all localhost md5
host all all 127.0.0.1/32 md5

vim postgresql.conf
# 搜索listen_addresses,去掉注释修改localhost为*
listen_addresses = '*'

4). 添加环境变量

1
2
3
vim /etc/profile
export PSQL_HOME=/usr/pgsql-9.3
pathmunge $PSQL_HOME/bin

三、ROR安装配置

1.安装rvm

1
2
3
4
5
curl -L get.rvm.io | bash -s stable
# 输出以上命令,将会自动进行安装。
sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' /usr/local/rvm/config/db
# 修改源为淘宝镜像,我的rvm安装在/usr/local目录中。完成后重启系统。
# 更多rvm使用可参考 http://ruby-china.org/wiki/rvm-guide

2.使用rvm安装ruby

1
2
3
4
rvm install ruby-2.0.0
#修改gem默认源
gem source -a http://ruby.taobao.org/
gem source -r https://rubygems.org/

3.创建项目以及对应的gemset

1
2
3
4
5
6
7
8
9
#创建项目路径
cd ~
mkdir demo
cd demo
#创建gemset
rvm gemset create demo
rvm gemset use demo
#安装rails
gem install rails

4.添加postgresql帐号

1
2
3
4
5
6
7
su postgres
createuser -d demo
psql -d postgres
# 修改demo帐号的密码
ALTER USER demo WITH PASSWORD '123456';
# 退出
\q

5.创建rails项目

1
2
rails new . -BT -d postgresql
# -B跳过bundle(后面手动进行),-T跳过test-unit(建议使用RSpec),-d 指定数据库为postgresql

6.修改rails配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
vim Gemfile
#将第一行修改为淘宝源
source 'http://ruby.taobao.org'
#安装gem
bundle install
#安装pg库的时候会报错,PostgreSQL非系统标准路径,需指定pg_config安装
gem install pg -- --with-pg-config=/usr/pgsql-9.3/bin/pg_config
#编辑数据库配置
vim config/database.yml
# 找到development,修改username为demo,password为第4步指定的密码。如果不需要创建test数据库可以找到test的配置全部注释掉。

development:
adapter: postgresql
encoding: unicode
database: demo_development
pool: 5
username: demo
password: 123456

7.安装gem

1
2
3
bundle install
#安装到pg库的时候会报错,PostgreSQL非系统标准路径,需指定pg_config安装
gem install pg -- --with-pg-config=/usr/pgsql-9.3/bin/pg_config

8.创建数据库,启动rails

1
2
rake db:create
rails s

经过以上几步,输入http://:3000应该可以看到rails的默认页面了。