环境:在win7 上Vmware虚拟机环境中安装的ubuntu 14.04

1. bundle install 时,报json错误
可以看出是在安装nokogiri时遇到了问题,此时执行

sudo apt-get install libxml2-dev libxslt-dev

2. 指定路径安装
bundle install --path vendor/bundle

3. gem 安装rails报错
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.

current directory: /var/lib/gems/2.3.0/gems/nio4r-2.3.0/ext/nio4r
/usr/bin/ruby2.3 -r ./siteconf20180412-5186-17ke2ek.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.3.0/gems/nio4r-2.3.0 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86-linux/2.3.0/nio4r-2.3.0/gem_make.out

------------------------ubuntu 14.04-----------------------
4.安装 gcc 【ruby环境需要的】
sudo apt-get install g++

5. Ubuntu14.04
更新系统
安装aptitude
sudo apt-get install aptitude

更新软件的源文件并进行更新
sudo aptitude update
sudo aptitude -y upgrade 【更新时间太长】

使用apt-get命令行工具来安装Ruby和RubyGems

安装完整的Ruby包和RubyGems
sudo apt-get install ruby-full rubygems 【报错】

sudo apt-get install rails
默认安装rails 3.2.16 ruby 1.9

查看gem源
gem sources -l

gem sources --remove http://rubygems.org/
gem sources -a http://gems.ruby-china.org

ubuntu上的软件包已经最新
解决方案:使用以下命令手动更新包

sudo apt-get update
sudo apt-get upgrade 

安装必要的软件及包
若是没有制定该步骤,则需要在下面单独安装包

sudo apt-get install -y build-essential openssl curl libcurl3-dev libreadline6 libreadline6-dev git zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev autoconf automake libtool imagemagick libmagickwand-dev libpcre3-dev libsqlite3-dev

-------------------------------------------------------------------------------------------------

本文说明:所有的命令均在$ 之后,若$前边带有信息,只是为了方便你理解和与自己对照。

安装过程中由于这样那样的原因,产生许多坑,所谓坑是对初学者来说,大牛们飘过吧。

步骤1、从官网下载ubuntu 14.04 X64

http://124.205.69.136/files/2013000000502943/202.141.176.110/ubuntu-cdimage/ubuntukylin/releases/14.04/release/ubuntukylin-14.04-desktop-amd64.iso
安装时,选择版本时,建议选择最后一种,也就是组建最多的一种,这样就不用自己一个个下载了

步骤2、安装虚拟机Vmware,使用镜像安装ubuntu 我采用的VM是10

在此给大家说一小技巧,在虚拟机上完成一次改动,可以做一个快照,若是下步出错,随时撤回。做快照就几秒钟,恢复到某一快照也就几秒钟,非常适合初学者熟悉环境搭建使用

步骤3、先说坑吧,也是大家下面安装所要注意的问题。

坑1、关于终端,一定要使用启动器打开

安装完虚拟机,进入系统,我们便会遇到第一个坑,终端软件,建议大家都使用启动器打开终端,

千万不要使用文件管理器,进入文件夹,再右键“在终端中打开”,这个时候,环境变量加载不上,尤其在非桌面文件夹进入时。终端加载不上环境变量,大多的软件都没法在终端中执行。

打开终端时,一定要通过启动器,所谓启动器,就是在bantu中放在桌面左侧的侧边栏,很像windows中的快捷方式

坑2、关于假设,大多数网站都假设你安装了一些基本包或者软件,但是有不提,这让初学者搭建环境尤其费力。

假设1、你已经安装了某软件,如curl

针对这种,解决方法:手动安装软件,命令:$ apt-get install 包名字,

假设2、你能链接上国外的rvm、gem源服务器,国内现状,大家懂得。所以,必须用替代的国内源服务器。

你在下边安装过程中,

若是出现了服务器积极拒绝,80%的可能行是被墙了。或者被你公司、家所在网络屏蔽掉了

若是出现了速度很慢,半天不动的现象,恭喜你,你得换源地址了。

rvm解决方法:安装完rvm,确保rvm -v可以执行后,执行以下命令,替换服务器资源信息

1
$ sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' ~/.rvm/config/db

gem 解决方法:

1
2
3
4
5
6
//列出当前源列表
$ gem source
//注意,下面我们删除默认源,添加淘宝源,相对来说,淘宝源无论速度还是稳定性,远比默认的要高
$ gem source -r https://rubygems.org/
//添加淘宝源,
$ gem source -a https://ruby.taobao.org

假设3:你ubuntu上的软件包已经最新

解决方案:使用以下命令手动更新包

1
2
$ sudo apt-get update
$ sudo apt-get upgrade  

安装必要的软件及包

若是没有制定该步骤,则需要在下面单独安装包

1
$ sudo apt-get install -y build-essential openssl curl libcurl3-dev libreadline6 libreadline6-dev git zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev autoconf automake libtool imagemagick libmagickwand-dev libpcre3-dev libsqlite3-dev

步骤4、安装ruby on rails 相关软件

参考:https://ruby-china.org/wiki/install_ruby_guide

以下步骤主要参照上边网址,这个网站做了许多假设,而且也没提到这些假设,就产生了所谓的坑,我们主要填坑

ubuntu自带ruby 版本比较低,我们要安装最新版的2.2.0

1)更新随机自带的软件包,这个是很必要的,否则下面可能产生N多错误

1
2
$ sudo apt-get update
$ sudo apt-get upgrade 

2)安装curl,我们需要用它来装rvm

1
$ sudo apt-get install curl  

3)安装rvm,我们使用rvm安装ruby、rails等,rvm安装参见:https://ruby-china.org/wiki/rvm-guide 步骤1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ curl -L get.rvm.io | bash -s stable
//若提示找不到公钥,执行下边语句
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
//然后,重新执行,安装完rvm之后,需配置终端,以便下次打开终端能直接只用rvm。更改终端配置方法:参见https://rvm.io/integration/gnome-terminal
$ curl -L get.rvm.io | bash -s stable
//至此,rvm安装完成,下边我们手动为终端配置rvm环境,否则以后在终端中可能每次都要手动加载rvm环境
//更改终端配置方法:工具栏--编辑--配置文件首选项--标题和命令--命令--选中“以登录shell方式运行命令”
//然后,我们手动加载rvm环境,将服务器资源改为淘宝的
///////$ source ~/.rvm/scripts/rvm 官方的加载rvm环境命令,我们就不执行了
//临时加载rvm环境,参考:https://rvm.io/integration/gnome-terminal
$ source ~/.bashrc
$ source ~/.bash_profile
//更改rvm源服务器资源信息,毕竟国外的经常被墙掉,还有就是国内的速度快。若不设置,下面可能出现各种问题,如出现服务器积极拒绝(被墙),或者下载速度慢
$ sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' ~/.rvm/config/db
//请保存你的工作,然后重启ubuntu系统
$ sudo reboot
//重启完后,打开终端,我们便可以使用rvm了,
//列出rvm远程服务器上都有那些可用的ruby版本
$ rvm list known
//安装rvm需要的包
$ rvm requirements

4)安装ruby,我们选择最新的,不带版本号就是说装最新的,

更多参考:https://ruby-china.org/wiki/install_ruby_guide 步骤2

1
2
3
4
5
6
7
$ rvm install ruby
//安装完,看一下安装的版本
$ ruby -v
//这个时候,应该显示的是2.2.0,
//通过下面操作,我们把这个作为ruby默认版本,若是你机子上有多个版本的话,参考:https://ruby-china.org/wiki/install_ruby_guide步骤3
$ rvm use 2.2.0 --default
//尝试安装rails,几乎可以肯定会失败,我们姑且看看会有啥样的错误吧 

5)下边我们要用到gem,使用前,先切换到淘宝服务器 gem更多使用

参见://查看当前gem源列表,默认源是https://rubygems.org/

1
2
3
4
5
$ gem source
//注意,下面我们删除默认源,添加淘宝源,相对来说,淘宝源无论速度还是稳定性,远比默认的要高
$ gem source -r https://rubygems.org/
//添加淘宝源,
$ gem source -a https://ruby.taobao.org

6)使用gem安装rails

参考:https://ruby-china.org/wiki/install_ruby_guide 步骤4

1
2
3
4
5
6
7
8
9
10
11
12
$ gem install rails
gem install rails -v 4.2.6
//若报错相关信息nokogiri-1.6.5.gem,缺少这个包,或者这个包有问题安装不上,执行下边命令手动安装nokogiri
$ gem install nokogiri -v=1.6.5
//如果安装nokogiri报错,需要依赖包 libxslt libxml2,那我们就先装这俩依赖包
$ sudo apt-get install libxslt libxml2
//装完依赖包后,继续安装nokogiri-1.6.5.gem
$ gem install nokogiri -v=1.6.5
//安装完nokogiri,我们就可以继续rails的安装步骤了
$ gem install rails
//安装完后,查看rails版本
$ rails -versions
//这时,应该是最新的4.2.0 

步骤5、正式开始安装ruby on rails

//参考:http://guides.ruby-china.org/getting_started.html

1、版本检查,查看以下依赖工具版本,务必确保都安装了

1
2
3
4
5
6
//查看ruby版本
ruby -v
//查看rails版本
rails -v
//查看sqlite3版本
$ sqlite3 --version  

  若没有安装,使用apt-get install sqlite3 安装

2、建立项目工程

//特别提醒,不要在文件夹中右键使用“在终端中打开”,目前不确定这个是不是在加载环境变量方面有bug

1)我们先确保自己电脑存在以下目录:/home/myusername/app/rails,若没有,则创建

1
2
3
4
5
6
7
8
9
10
//查看当前所在目录
zxh@zhangxh-ubuntu:~$ pwd
//我的显示如下
/home/zxh
$ mkdir app
$ cd app
$ mkdir rails
$ cd rails
结果如下:
zxh@zhangxh-ubuntu:~/app/rails$ 

2)在上边创建的目录下,创建rails工程

1
2
3
4
5
//建立blog项目,注意,区别于官网,这里我们不进行bundle install,在完成网站开发后,再手动bundle install
zxh@zhangxh-ubuntu:~/app/rails$ rails new blog --skip-bundle
//进入blog文件夹,即rails工程根目录
zxh@zhangxh-ubuntu:~/app/rails$ cd blog
zxh@zhangxh-ubuntu:~/app/rails/blog$

3)bundle install 其实,还是调用gem,执行前,请检查gem源为淘宝源

1
2
zxh@zhangxh-ubuntu:~/app/rails/blog$ bundle install
//在rails工程根目录启动 rails server,启动成功后,另外打开一个终端,cd到该目录

4)安装js编译器

1
2
3
4
5
6
7
8
9
10
11
//选择一:使用node.js
$ sudo apt-get install python-software-properties 
$ sudo add-apt-repository ppa:chris-lea/node.js
$ sudo apt-get update 
$ sudo apt-get install nodejs
若不安装,本机有没有js编译器,直接执行rails server,则会报错:
zxh@zhangxh-ubuntu:~/app/rails/blog$ rails server
//。。。。。。。。。
//Could not find a JavaScript runtime
//选择二:使用execjs
$ gem install execjs

5)此时,我们才启动server

1
2
3
4
5
6
7
8
zxh@zhangxh-ubuntu:~/app/rails/blog$ rails server
=> Booting WEBrick
=> Rails 4.2.0 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2015-01-11 14:21:47] INFO  WEBrick 1.3.1
[2015-01-11 14:21:47] INFO  ruby 2.2.0 (2014-12-25) [x86_64-linux]
[2015-01-11 14:21:47] INFO  WEBrick::HTTPServer#start: pid=12202 port=3000

  

6)启动后,可以在http://localhost:3000查看网站

7)然后,大家就可以按照http://guides.ruby-china.org/getting_started.html一步步完善这个rails项目

sudo apt-get install -y build-essential openssl curl libcurl3-dev libreadline6 libreadline6-dev git zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev autoconf automake libtool imagemagick libmagickwand-dev libpcre3-dev libsqlite3-dev

ubuntu 14.04中安装 ruby on rails 环境的更多相关文章

  1. ubuntu 14.04中安装 ruby on rails 环境(填坑版) 呕血推荐

    环境:在win7 上Vmware虚拟机环境中安装的ubuntu 14.04 开发相关: ruby 2.2.0 rails 4.2.0 sublime text 3 本文说明:所有的命令均在$ 之后,若 ...

  2. Ubuntu 14.04中安装最新版Eclipse

    Ubuntu 14.04中安装最新版Eclipse 来源:Linux社区    作者:Linux 1.安装OpenJDK Java 7 如果你的系统中没有安装Java,我们需要按照如下步骤事先安装好 ...

  3. 怎样在Ubuntu 14.04中安装Java(转)

    想知道如何在Ubuntu 14.04中安装Java?安装Java肯定是安装Ubuntu 14.04后首先要做的几件事情之一(见http://www.linuxidc.com/Linux/2014-04 ...

  4. Ubuntu 14.04 中 安装elasticsearch2.*+logstash2.*+kibana

    在Ubuntu 14.04 上安装单机版ELK 2.*(脚本化) 1.判断是否为root权限 if [ "${UID}" -ne 0 ]; then echo "You ...

  5. 如何在Ubuntu 14.04中安装最新版Eclipse

    想必很多开发人员都知道,Ubuntu 软件源中提供的并不是最新版本的 Eclipse,本教程就教大家如何在 Ubuntu 14.04 中快速安装 Eclipse 官方发布的最新版本. 到目前为止,Ec ...

  6. 转:如何在Ubuntu 14.04中安装最新版Eclipse

    想必很多开发人员都知道,Ubuntu 软件源中提供的并不是最新版本的 Eclipse,本教程就教大家如何在 Ubuntu 14.04 中快速安装 Eclipse 官方发布的最新版本. 到目前为止,Ec ...

  7. Ubuntu 14.04 中安装 VMware10 Tools工具

    Run: apt-get install dkms linux-headers-$(uname -r) build-essential psmisc2 - Run: git clone https:/ ...

  8. ubuntu 16.04 i386 安装 ruby + bundler + rails ; 搭建简单的网站bitbar

    参考 http://gorails.com/setup/ubuntu/16.04 概述 Project 2 主要探究对web的攻击,本次试验共有6个部分. Project 2中攻击的是一个提供电子货币 ...

  9. ubuntu 14.04中安装phpmyadmin即mysql图形管理界面

    由于学习的需要,我将网站开发环境从windows转移到了ubuntu,ubuntu下之前并没有发现什么难的地方,只要百度一般都有解决方案.但是总所周知ubuntu是一系列开源软件的集合,由于版本的问题 ...

随机推荐

  1. HDU1075 字典树板子题

    题意 :给出两组字符串 一一映射,给出一种组成的文字,要求映射成另外一种思路:使用字典树,把映射的另外一个字符存在字典树的单词节点处  例如 abc   123 则把123存在abc节点中的c处即可 ...

  2. scrapy入门与进阶

    Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非 ...

  3. 记一次Java调优案例分析

    上周,一同学给我发来,他们那里的案例 一看就是新生代产生过多对象,肯定是批量或者循环操作导致的,导致新生代一直在进行回收导致. 如果是老生代出现这样的问题,大部分情况下是列表或者集合导致的. 因此我们 ...

  4. ecplise properties文件 中文转码

    1.安装插件 2.重开ecplise 3.在项目的乱码文件如jeesite.properties右键 openwith propertiesEditor 就可以看到中文了 输入 proedit 安装完 ...

  5. Linux block(1k) block(4k) 换算 gb

    输入 df  显示1k blocks  大小   再输入  df -h  显示 gb换算大小  结论 block(1k) 计算公式为:  block(1k)   /1024/1000  = xx gb ...

  6. bzoj4540 序列 (单调栈+莫队+rmq)

    首先,如果我知道[l,r],要转移到[l,r+1]的时候,就是加上以r+1为右端点,[l,r+1]为左端点的区间的最小值,其他情况和这个类似 考虑这玩意怎么求 右端点固定的话,我左端点越往左走,这个最 ...

  7. 【php】php实现数组反转

    php里面有个函数可以反转数组,工作中也经常用到,非常方便.今天来自己实现这样的功能. $arr = [2,5,6,1,8,16,12]; function reverse($arr){ $left ...

  8. UOJ#422 小Z的礼物

    非常神奇的一个套路......首先min-max容斥一波,变成枚举子集然后求所有子集min的期望. 一个子集的期望怎么求?我们可以求出所有的r个选法中能够选到这个子集的方案数k,那么概率就是k / r ...

  9. Django(九)admin相关知识

    https://www.cnblogs.com/yuanchenqi/articles/6083427.htm https://www.cnblogs.com/haiyan123/p/8034430. ...

  10. Linux由浅入深学习 (转)

    转自 => 作者:Vamei 出处:http://www.cnblogs.com/vamei 走进Linux 我从这一部分开始走入Linux.Raspbian是Linux的一个发行版本,而Lin ...