ubuntu 14.04中安装 ruby on rails 环境
环境:在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 环境的更多相关文章
- ubuntu 14.04中安装 ruby on rails 环境(填坑版) 呕血推荐
环境:在win7 上Vmware虚拟机环境中安装的ubuntu 14.04 开发相关: ruby 2.2.0 rails 4.2.0 sublime text 3 本文说明:所有的命令均在$ 之后,若 ...
- Ubuntu 14.04中安装最新版Eclipse
Ubuntu 14.04中安装最新版Eclipse 来源:Linux社区 作者:Linux 1.安装OpenJDK Java 7 如果你的系统中没有安装Java,我们需要按照如下步骤事先安装好 ...
- 怎样在Ubuntu 14.04中安装Java(转)
想知道如何在Ubuntu 14.04中安装Java?安装Java肯定是安装Ubuntu 14.04后首先要做的几件事情之一(见http://www.linuxidc.com/Linux/2014-04 ...
- Ubuntu 14.04 中 安装elasticsearch2.*+logstash2.*+kibana
在Ubuntu 14.04 上安装单机版ELK 2.*(脚本化) 1.判断是否为root权限 if [ "${UID}" -ne 0 ]; then echo "You ...
- 如何在Ubuntu 14.04中安装最新版Eclipse
想必很多开发人员都知道,Ubuntu 软件源中提供的并不是最新版本的 Eclipse,本教程就教大家如何在 Ubuntu 14.04 中快速安装 Eclipse 官方发布的最新版本. 到目前为止,Ec ...
- 转:如何在Ubuntu 14.04中安装最新版Eclipse
想必很多开发人员都知道,Ubuntu 软件源中提供的并不是最新版本的 Eclipse,本教程就教大家如何在 Ubuntu 14.04 中快速安装 Eclipse 官方发布的最新版本. 到目前为止,Ec ...
- Ubuntu 14.04 中安装 VMware10 Tools工具
Run: apt-get install dkms linux-headers-$(uname -r) build-essential psmisc2 - Run: git clone https:/ ...
- ubuntu 16.04 i386 安装 ruby + bundler + rails ; 搭建简单的网站bitbar
参考 http://gorails.com/setup/ubuntu/16.04 概述 Project 2 主要探究对web的攻击,本次试验共有6个部分. Project 2中攻击的是一个提供电子货币 ...
- ubuntu 14.04中安装phpmyadmin即mysql图形管理界面
由于学习的需要,我将网站开发环境从windows转移到了ubuntu,ubuntu下之前并没有发现什么难的地方,只要百度一般都有解决方案.但是总所周知ubuntu是一系列开源软件的集合,由于版本的问题 ...
随机推荐
- HDU1075 字典树板子题
题意 :给出两组字符串 一一映射,给出一种组成的文字,要求映射成另外一种思路:使用字典树,把映射的另外一个字符存在字典树的单词节点处 例如 abc 123 则把123存在abc节点中的c处即可 ...
- scrapy入门与进阶
Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非 ...
- 记一次Java调优案例分析
上周,一同学给我发来,他们那里的案例 一看就是新生代产生过多对象,肯定是批量或者循环操作导致的,导致新生代一直在进行回收导致. 如果是老生代出现这样的问题,大部分情况下是列表或者集合导致的. 因此我们 ...
- ecplise properties文件 中文转码
1.安装插件 2.重开ecplise 3.在项目的乱码文件如jeesite.properties右键 openwith propertiesEditor 就可以看到中文了 输入 proedit 安装完 ...
- Linux block(1k) block(4k) 换算 gb
输入 df 显示1k blocks 大小 再输入 df -h 显示 gb换算大小 结论 block(1k) 计算公式为: block(1k) /1024/1000 = xx gb ...
- bzoj4540 序列 (单调栈+莫队+rmq)
首先,如果我知道[l,r],要转移到[l,r+1]的时候,就是加上以r+1为右端点,[l,r+1]为左端点的区间的最小值,其他情况和这个类似 考虑这玩意怎么求 右端点固定的话,我左端点越往左走,这个最 ...
- 【php】php实现数组反转
php里面有个函数可以反转数组,工作中也经常用到,非常方便.今天来自己实现这样的功能. $arr = [2,5,6,1,8,16,12]; function reverse($arr){ $left ...
- UOJ#422 小Z的礼物
非常神奇的一个套路......首先min-max容斥一波,变成枚举子集然后求所有子集min的期望. 一个子集的期望怎么求?我们可以求出所有的r个选法中能够选到这个子集的方案数k,那么概率就是k / r ...
- Django(九)admin相关知识
https://www.cnblogs.com/yuanchenqi/articles/6083427.htm https://www.cnblogs.com/haiyan123/p/8034430. ...
- Linux由浅入深学习 (转)
转自 => 作者:Vamei 出处:http://www.cnblogs.com/vamei 走进Linux 我从这一部分开始走入Linux.Raspbian是Linux的一个发行版本,而Lin ...