准备安装ruby on rails,在网上搜了下,步骤都类似,但实际安装过程中却碰到很多问题。下面详细说下:

说明下,文章是按照我尝试的过程描述的。但最终是靠 运行 railsinstaller一键式安装包才成功的(第五段),因此前面的部分大家可以看看,但不用去尝试。

一、首先要安装ruby

因为在windows下安装ruby,都是推荐下载rubyinstaller安装程序。

先进入ruby官网http://www.ruby-lang.org/en/downloads/ ,

通过上面链接进入http://rubyinstaller.org/

直接下载了一个最新版本rubyinstaller-2.3.0.exe (针对ruby 2.3.0版本的)。

下载正常,安装也正常,在命令行下测试 ruby -v 成功。

但是后面在通过  gem install rails 报错,报错信息如下

ERROR:  Error installing rails:
        nokogiri requires Ruby version < 2.3, >= 1.9.2.

很明显,ruby版本太高,所以重新下载了rubyinstaller-2.2.4.exe(针对Ruby 2.2.4版本)。

当然这是后话,这里先说出来,就是避免大家一样跟我重复。但也可能,当你安装时就没问题了。反正我是碰到问题了。

二、安装rails

通过ruby gem来在线安装。RubyGems是一个方便而强大的Ruby程序包管理器,类似RedHat的RPM。

它将一个Ruby应用程序打包到一个gem里,作为一个安装单元。

先在命令行下 输入  gem -v 测试gem是否正常,测试发现正常。

然后在命令行下输入 gem install rails

但是等待半天后,报网络错误, 后来在网上搜了下,因为gem默认用的源是https://rubygems.org/,

但由于国内网络的原因,会连不上,可以用淘宝提供的镜像 https://ruby.taobao.org/ 来代替。

于是这行下面的操作:

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

上面操作是删除源,删除后用  gem sources -l 发现删除成功了。

需要说明下 gem 后的命令 ,如这里的sources不一定要写全,只要不冲突可以,比如 gem source , gem so 都是可以的。

然后执行 gem sources --add https://ruby.taobao.org/ ,但总是报错

Error fetching https://ruby.taobao.org/:
        SSL_connect returned=1 errno=0 state=SSLv3 r

试着把https改为 http,  gem sources --add http://ruby.taobao.org/,又是报如下错误

Error fetching http://ruby.taobao.org/:
        bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)

试了多次,还是不行。

后来又找了下,发现 ruby china上提供了源  ,官网 https://ruby-china.org/上给出了命令gem source -a https://gems.ruby-china.org

于是执行 gem source -a https://gems.ruby-china.org ,但是还是报错

Error fetching https://gems.ruby-china.org:
        SSL_connect returned=1 errno=0 state=SSLv3 read s

没有办法,试着把https改为http,竟然成功了

C:\Windows\System32>gem source -a http://gems.ruby-china.org
http://gems.ruby-china.org added to sources

查看一下,是成功的。

C:\Windows\System32>gem source -l

*** CURRENT SOURCES ***

http://gems.ruby-china.org

既然,源设置正确了,下面那就安装rails吧,于是在命令行下运行 gem install rails

等待一会后,命令下开始输出安装过程信息了,当以为应该没有问题的时候,结果又报错,安装停止了,报错信息如下

......

Fetching: rails-deprecated_sanitizer-1.0.3.gem (100%)
Successfully installed rails-deprecated_sanitizer-1.0.3
Fetching: rails-dom-testing-1.0.7.gem (100%)
Successfully installed rails-dom-testing-1.0.7
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    bad response Gateway Time-out 504 (http://gems-ruby-china.b0.upaiyun.com/quick/Marshal.4.8/loofah-2.0.3.gemspec.rz)

晕了,再接着试下运行gem install rails,这次有很多输出了,但输出很长时间候,停在某条信息上了不再继续,也没终止

......

ng ri documentation for sprockets-rails-3.0.4
documentation for rails-4.2.6
ng ri documentation for rails-4.2.6

看这个信息,是在安装文档,心想文档应该不是关键模块,试着打开一个新的命令行,运行 rails -v,发现成功输出,说明 rails可能安装成功了。

还是不太放心,前面在网上查询时了解到 gem install rails --no-rdoc --no-ri 可以不安装文档。

于是把命令行强制终止,并运行gem install rails --no-rdoc --no-ri,看看有啥反应

.....

Installing ri documentation for rails-4.2.6

ERROR:  Interrupted

终止批处理操作吗(Y/N)? y

C:\Windows\System32>gem install rails --no-rdoc --no-ri

Successfully installed rails-4.2.6 1 gem installed

C:\Windows\System32>rails -v

Rails 4.2.6

这下比较放心了,说明rails安装成功了。

三、测试ruby

编写和运行ruby,可以有几种方式

1、运行 irb 程序,启动交互式界面

2、将ruby代码编写到文件中,保存 .rb文件,在命令行下用 ruby执行该文件。

3、到http://www.scintilla.org/SciTEDownload.html上下载一个ide工具,来编写和运行ruby程序

四、测试rails

执行” rails new 目录名 " 创建一个ruby框架的web工程的框架。

但发现报错,报缺少sqllite等模块。

后来又在网上查了下,ruby on rails依赖很多模块。

在window下要安装rails 最好用 railsinstaller 来安装。 下面我们来介绍如何利用railsinstaller 来安装。

五、利用 railsinstaller 安装 ruby 和 rails

进入官网http://railsinstaller.org/en

先是下载 了windows下最新的 railsinstaller-3.2.0.exe,安装没有问题。

但发现 rails.bat无法运行,打开一个,里面的脚本写的有问题。因为不知道是不是只有这一个问题。

因此重新下载了稍微低的版本railsinstaller-3.1.1.exe,安装成功后,检查各项版本:

C:\Windows\System32>ruby -v
ruby 2.1.8p440 (-- revision ) [i386-mingw32] C:\Windows\System32>gem -v
2.2. C:\Windows\System32>bundle -v
Bundler version 1.12..pre. C:\Windows\System32>rails -v
Rails 4.2.5.1

安装成功后,除选择的安装目录外,还在c盘下创建一个 sites目录,里面有个ruby on rails的例子工程。

六、测试rails

运行 rails new demo  ,这里的demo是测试工程。

运行后,前面一部分是成功的,但最后报错了。

c:\Sites>rails new demo
      create
      create  README.rdoc
      create  Rakefile

.....................

create  vendor/assets/stylesheets/.keep
         run  bundle install
Checksum of /versions does not match the checksum provided by server! Something is wrong.

因为创建工程会下载很多模块,会到默认的镜像  https://rubygems.org/ 上去获取,而这个镜像是很难连上去的。

因此需要修改镜像。

修改 demo目录下的 Gemfile 文件,

源文件第一行语句是  source 'https://rubygems.org'

需要修改为 source 'http://gems.ruby-china.org'  ,这个镜像在本文的前面有介绍,不再重复说明。

修改后,重新执行 rails new demo,注意原来生成的demo内容不变。

执行的信息如下:

c:\Sites>rails new demo
exist
identical README.rdoc
identical Rakefile
identical config.ru
identical .gitignore
conflict Gemfile
Overwrite c:/Sites/demo/Gemfile? (enter "h" for help) [Ynaqdh] n
skip Gemfile
exist app

执行过程中会提示是否覆盖 Gemfile文件,我们这里选择否,因为已经被我们修改了。
后面如果有类似其它文件提示,可选择Y。

创建工程后,我们下面来启动web工程,输入指令:rails server ,这是启动rails自带的 webrick 服务器。

c:\Sites\demo>rails server
=> Booting WEBrick
=> Rails 4.2.5.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server

这时我们在浏览器中输入 http://localhost:3000/ ,发现可以打开默认的页面。

六、总结下

从上面的安装可以看出,单独安装ruby相对比较容易。但因为rails的依赖较多,需要通过使用  railsinstaller一键式安装才比较容易。

我们这里下载的 railsinstaller-3.1.1.exe 包中包括如下模块:

Ruby 2.1.
Rails 4.2
Bundler
Git
Sqlite
TinyTDS
SQL Server Support
DevKit

本文主要讲述了如何在windows下安装 ruby on rails,后面的文章我们陆续会介绍如何使用 rails进行web程序的开发。

windows下安装ruby和 rails的痛苦经历的更多相关文章

  1. Fedora 16下安装ruby on rails

    Fedora 16下安装ruby on rails 最近在windows下写了些rails小程序,问题一个接一个,到最后终于坚信了那句话“windows不适合用于ruby on rails开发”.于是 ...

  2. 在linux,windows上安装ruby on rails开发环境

    ruby是一个非常优秀的语言,ruby的精髓rails可以让web开发的效率成倍的提高,下面就介绍一下我搭建rails环境的过程.windows下搭建ruby rails web开发环境本篇文章主要是 ...

  3. Windows下安装Ruby

    Ruby是一门用了就会喜欢的语言,在Ruby的社区里面,只要你觉得用的不习惯,这就是BUG. 下载 登录官方网址, 下载后,直接无脑下一步安装就行. 中间直接勾选add to PATH,可以自动添加到 ...

  4. ubuntu 14.04中安装 ruby on rails 环境

    环境:在win7 上Vmware虚拟机环境中安装的ubuntu 14.04 1. bundle install 时,报json错误可以看出是在安装nokogiri时遇到了问题,此时执行 sudo ap ...

  5. Windows下安装Redmine 2.5.2不全然指南

    我决定在项目中引入Redmine来管理开发任务和计划,至于Redmine的优点,请问度娘或者脑补一下. 互联网搜索到的.基本上都是旧版本号的. 1.2.1 的最多,我要新的啊,所以仅仅好自己来啦. 本 ...

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

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

  7. windows 下安装redis并且测试(php)

    Window 下安装 下载地址:https://github.com/dmajkic/redis/downloads. 下载到的Redis支持32bit和64bit.根据自己实际情况选择,将64bit ...

  8. Redis在windows下安装和PHP中使用

    1.redis简介redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...

  9. windows下安装python和依赖包的利器——Anaconda

    在windows下安装python和很多依赖包,安装起来略为痛苦,可以使用python的大整合包——Anaconda Anaconda下载地址: http://continuum.io/downloa ...

随机推荐

  1. spss

    编辑 SPSS(Statistical Product and Service Solutions),“统计产品与服务解决方案”软件.最初软件全称为“社会科学统计软件包” (SolutionsStat ...

  2. Delphi 类型转换函数(有几个函数没见过,FloatToStrF,FloatToText等等)

    Chr 将一个有序数据转换为一个ANSI字符 Ord 将一个有序类型值转换为它的序号 Round 转换一个实型值为四舍五入后的整型值 Trunc 转换一个实型值为小数截断后的整型值 Int 返回浮点数 ...

  3. Oracle 快照及 dblink使用 (两台服务器数据同步)

    /*一.创建dblink:*/ --1.在目的数据库上,创建dblin drop database link dblink_anson; Create public database link dbl ...

  4. UVa 10131: Is Bigger Smarter?

    动态规划题.类似UVa103 Stacking Box,都是题目给一种判断嵌套的方法然后求最长序列.提前对数据排序可以节省一些时间开销. 我的解题代码如下: #include <iostream ...

  5. C#中接口和方法的运用(Fourteenth Day)

    由于周五我有一些事情没来得及总结当天的知识,所以在今天总结一下周五在云和学院所学到的有关接口和方法的知识. 理论: 接口: •接口的定义:interface关键字,接口中可以有属性.方法(未实现) • ...

  6. 如何通过java反射将数据库表生成实体类?

    首先有几点声明: 1.代码是在别人的基础进行改写的: 2.大家有什么改进的意见可以告诉我,也可以自己改好共享给其他人: 3.刚刚毕业,水平有限,肯定有许多不足之处: 4.希望刚刚学习java的同学能有 ...

  7. UIView 设置阴影(属性说明)

    以下代码实现: 第一个图片的代码 //加阴影--任海丽编辑 _imageView.layer.shadowColor = [UIColor blackColor].CGColor;//shadowCo ...

  8. Django问题汇总

    Q1.运行python manage.py runserver后,出现如下错误(CentOS6.5x86,Python2.7.12,Django1.10): django.core.exception ...

  9. iframe,modaldialog父子窗口相互通信的问题

    --- 子窗口访问父窗口的window对象 --- 打开新窗口一般有几种方法,window.open(...),window.showModalDialog(...),以及iframe中嵌套页面,另外 ...

  10. js 选择器

    a>b  获取a下面的直接子元素