刚开始部署这玩意是很折磨的,折腾吧。

确保使用最新版本的linux,否则成功率会大大降低,因为ruby开源社区对于ubuntu的支持总是不兼容旧版本的。笔者部署时的版本是ubuntu12.04

每次都是缺少这库又需要那库的,所以这里让大家首先安装各种库

1.首先安装yaml 库,避免以后的麻烦。 不装此库会让你安装不上rubygems

wget -c 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 && make install

2.安装zlib1g  和 zlib1g-dev,防止以后运行gem 出现 no such file to load zlib(LoadError)

sudo apt-get install zlib1g zlib1g-dev

装好以后,如果是已经装了Ruby[注意:这里是已经装了ruby] , 那么就找到ruby的安装的源文件夹下的/ext/zlib/  运行

ruby extconf.rb

make && make install

还有openssl这个要装,不然在rails一个demo时会失败

sudo apt-get install libopenssl-ruby

sudo apt-get install openssl

sudo apt-get install libssl-dev

sudo apt-get install libssl0.9.8

【注意:这里也是已经装了ruby的,没装ruby直接下一步】在进入源码下的/ext/openssl

ruby extconf.rb

make && make install

3.安装rvm

apt-get install curl

curl -L get.rvm.io | bash -s stable

如果你是root用户登录,则此时rvm -v可以看到版本号了,如果不是,你需要做下面这个【】步骤

【sudo gedit ~/.bashrc

添加export PATH=/usr/local/rvm/bin:$PATH

source ~/.bashrc
source ~/.bash_profile

sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' /usr/local/rvm/config/db
(修改rvm的ruby安装源到淘宝镜像,原因是国内网络你懂的)

4.安装Ruby

列出已知ruby版本

rvm list known

安装一个ruby版本

rvm install ruby-2.0.0-p247

确保bash已登陆

/bin/bash --login

使用一个ruby版本

rvm use 2.0.0-p247

如果想设置为默认版本,可以这样

rvm use 2.0.0 --default

卸载一个已安装版本

rvm remove 1.9.2

5.安装gem

wget -c http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz

tar xzvf rubygems-1.8.24.tgz

cd rubygems-1.8.24
ruby setup.rb  

6.安装rails

由于国内网络原因(你懂的),导致rubygems.org存放在Amazon S3上面的资源间歇连接失败,所以你会遇到gem install rails 半天没反应的情况。

所以,淘宝网做了rubygems 镜像。

首先替换sources

gem sources --remove http://rubygems.org/

gem sources -a http://ruby.taobao.org/

gem sources -l       #用来查看source list

请确保只有http://ruby.taobao.org/ 一个

然后就可以gem install rails --no-ri --no-rdoc

为什么要用--no-ri --no-rdoc 参数,因为加上去安装快,而且这两个也用不着

安装完毕后,使用rails -v 查看版本,如果你看到正确显示版本,恭喜你,可以下一步了。

7.开始一个demo

当然不可能就让你这么愉快的开始demo

sudo apt-get install libsqlite3-dev               //虽然你不用这sqlite,但是还得装,不然就无法bundle install ,虽然我也不知道这个bundle是个啥

sudo apt-get install nodejs

//Nodejs就不用解释了,不知道为啥要安装这个,不过不安装的话当你rake db:create 的时候会提示你could not find Javascript Runtime

至此,就可以在一个目录下运行

rails new demo --skip-bundle  #直接rails new会自动运行bundle install,而bundle install会自动去rubygems.org查找是否有更新,少则五分钟,多则几十分钟

另外,最新版bundler速度提高不少,建议使用,也能提速

gem install bundler --pre

cd demo

bundle install --local

这个命令如果失败,则少了什么装什么,比如提示Could not find gem 'sdoc (>= 0) ruby' in the gems available on this machine.那就gem install sdoc

还有可能缺少的比如  gem install coffee-rails
gem install sqlite3

如果嫌麻烦还可以先 gem install all一下,再一个个加剩余的。

直到 bundle install --local 能够成功为止。

rake db:create

此时若出现rake aborted!
cannot load such file -- sqlite3/sqlite3_native

请手动setup一下sqlite3

cd   /usr/local/rvm/gems/ruby-2.0.0-p247/gems/sqlite3-1.3.8/lib/

ruby setup.rb

rake db:create

若报错:rake aborted!
Could not find a JavaScript runtime.

gedit Gemfile

添加一行

gem 'therubyracer'

保存,再bundle install,gem会帮你安装javascript

再一次rake db:create,我成功了,若还有其他报错,请检查数据库密码,改./config/database.yml将密码打上双引号可能可以解决。

rails s

看到WEBrick启动后,就可以打开浏览器,输入http://localhost:3000 访问demo了,是一个博客:)

大功告成,鼓掌,撒花

ubuntu12.04部署ROR的更多相关文章

  1. ubuntu12.04+hadoop2.2.0+zookeeper3.4.5+hbase0.96.2+hive0.13.1伪分布式环境部署

    目录: 一.hadoop2.2.0.zookeeper3.4.5.hbase0.96.2.hive0.13.1都是什么? 二.这些软件在哪里下载? 三.如何安装 1.安装JDK 2.用parallel ...

  2. ubuntu12.04 server + apache2 + wsgi + django1.6 部署

    最近在学Python和Django,想自己部署一个服务器试试 环境:ubuntu12.04 server | apache2 | django1.6 | python2.7 | mod_wsgi 在网 ...

  3. ubuntu12.04+Elasticsearch2.3.3伪分布式配置,集群状态分片调整

    目录 [TOC] 1.什么是Elashticsearch 1.1 Elashticsearch介绍 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.能够快速搜索数 ...

  4. Linux (Ubuntu12.04) 下开发工具安装和使用

    Linux (Ubuntu12.04) 下开发工具安装和使用 这里讲述的是关于在ubuntu12.04下面安装和使用各种IDE 开发环境和初步使用的知识.说一下背景:很多的开发基本都是在linux操作 ...

  5. PHP和Golang使用Thrift1和Thrift2访问Hbase0.96.2(ubuntu12.04)

    目录: 一.Thrift1和Thrift2的简要介绍 1) 写在前面 2) Thrift1和Thrift2的区别  二.Thrift0.9.2的安装 1) 安装依赖插件 2) Thrift0.9.2的 ...

  6. ubuntu12.04+kafka2.9.2+zookeeper3.4.5的伪分布式集群安装和demo(java api)测试

    博文作者:迦壹 博客地址:http://idoall.org/home.php?mod=space&uid=1&do=blog&id=547 转载声明:可以转载, 但必须以超链 ...

  7. mono3.2和monodevelop4.0在ubuntu12.04上两天的苦战

    首先第一步是设置ubuntu server 12.04版更新源,推荐中科大的比较快:deb http://debian.ustc.edu.cn/ubuntu/ precise main multive ...

  8. Win7&Ubuntu12.04 双系统引导问题

    周末的时候手贱,重装系统,导致原来的ubuntu12.04和win7双系统的引导不见了,所以在此进行一下说明,如何修复. 1. win7和ubuntu12.04双系统引导修复 问题描述:    在重装 ...

  9. ubuntu12.04 安装CS:APP Y86模拟器

    下的第一UBUNTU12.04下Y86模拟器的安装:(參考http://archive.cnblogs.com/a/1865627/ 作适当改动) 1.安装bison和flex词法分析工具 sudo ...

随机推荐

  1. 一天干掉一只Monkey计划(一)——基本光照模型及RT后处理 【转】

    http://www.cnblogs.com/Zephyroal/archive/2011/10/10/2206530.html 一天干掉一只Monkey计划(一)——基本光照模型及RT后处理 1, ...

  2. Rails generate的时候不生成assets和test

    我们在执行rails g controller controller_name或者rails g model model_name的时候往往会生成相应的assets文件和test,怎么不让rails帮 ...

  3. mui.ajax返回type为abort

    最近在使用h5和mui开发app,发现mui.ajax有一个小bug 情况一: 参数和请求路径无误,但是总是调起失败的回调函数,打印出 type=abort (终止请求) 原因: mui.ajax默认 ...

  4. socket websocket

    1.websocket客户端 websocket允许通过JavaScript建立与远程服务器的连接,从而实现客户端与服务器间双向的通信.在websocket中有两个方法: 1.send() 向远程服务 ...

  5. 【Python 数据分析】Numpy模块

    Numpy模块可以高效的处理数据,提供数组支持.很多模块都依赖他,比如:pandas.scipy.matplotlib 安装Numpy 首先到网站:https://www.lfd.uci.edu/~g ...

  6. 构建基于Javascript的移动web CMS入门——简单介绍

    看到项目上的移动框架,网上寻找了一下,发现原来这些一開始都有. 于是,找了个演示样例開始构建一个移动平台的CMS--墨颀 CMS,方便项目深入理解的同一时候.也能够自己维护一个CMS系统. 构建框架 ...

  7. in App Purchases一个注意事项

    在completeTransaction中通过transaction.originalTransaction.payment.productIdentifier得到的productIdentifier ...

  8. unity, 显示像素图,以及iOS下像素图变模糊解决办法

    在PS里画了个16x16像素的图: 在webplayer下Filter Mode选为Point,显示效果为: 在ios下显示效果为: 是由于iOS下会将图片压缩为pvr所致,想得到清晰的效果,需将Fo ...

  9. Atitit.  c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0   attilax总结

    Atitit.  c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0   attilax总结 1.1. C# 1.0-纯粹的面向对象 1.2. C# 2.0-泛型编程新概念 1.3. ...

  10. Vivado 与 Modelsim 联合仿真

    1 编译库 用命令行 用vivado工具 vivado 有很多 IP核的接口 已经与 ISE的核 不太一样了,比如fir ,接口就是这样的: fir_lp fir_lp_ip(    .aclk  ( ...