Windows 8.1 安装Ruby on Rails手记

最近喜欢上了狂拽酷炫的Ruby 看了诸多文章都是Linux或Mac OS X环境配置,文章末尾还不忘把windows黑成一坨...
表示很无语.. 作为新世纪隐秘而强大的 .Net程序员 怎能脱离宇宙神器VS呢?
于是开始进行Windows踩坑探索之旅 全程下来只能感叹一声功夫不负有心人呐 😃 .
此文环境 Windows 8.1 x64,Ruby 2.3.1,Gem 2.6.7,Rails 5.0.0.1

一.准备安装包

先来了解下需要安装哪些东西(请注意下载时最好下载系统对应版本的安装包)

  • Ruby 这个不多做解释了
    Windows环境下直接下载对应的RubyInstaller安装包即可
    Ruby下载传送门 一般最前边一个为目前最稳定版本
  • Ruby on Rails 使用 Ruby 语言编写的网页程序开发框架
  • RubyGems 这个在RubyInstaller中已包含 安装Ruby时会顺带安装上
    可能版本不是最新的 需要手动更新一下
  • DevKit windows平台下编译和使用本地C/C++扩展包的工具。
    它就是用来模拟Linux平台下的make, gcc, sh来进行编译。下载链接同上RubyInstaller
    我这里使用的是DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe
  • 数据库 rails支持各种数据库 这里以sqlite为例 传送门
    选择对应版本下载 我这里下载的是sqlite-dll-win64-x64-3140200.zip

二.开始安装

  • 首先安装Ruby 点击下载好的rubyinstaller-2.3.1-x64.exe文件
    一步步向下安装 这里需要注意的是安装目录不要包含空格!
    如果这里安装包含了空格 使用Ruby没什么影响 可进行Rails和DevKit安装的时候会报出各种异常错误 如我在安装过程中遇到了诸如NilClass、websocket-driver之类总是安装失败 所以在一开始安装Ruby的时候就注意规避这个问题。
    安装完毕后打开命令行工具输入以下命令查看下版本号:
C:\Users\Administrator>ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x64-mingw32]

新版本的安装包里是附带安装rubygems,可以直接查看下是否安装成功:

C:\Users\Administrator\demo>gem -v
2.6.7

注意:可能附带安装的gem版本不是最新版本 可以手动更新一下

  • 更改RubyGems 此时可能你的网络访问官网源失败导致安装终止.原因你懂得.所幸我们还有广大的Ruby爱好者提供的源.如果你搜索到的文章告诉你切换到http://ruby.taobao.org 那么赶紧关掉这个网页吧,这个链接已经过时了.这个地址虽然在浏览器中可以访问,但把源切到这个地址的时候实际上并不能正确访问.据我之前看到的文章淘宝已不再维护这个了.我们可以使用Ruby中国社区提供的源 地址为https://gems.ruby-china.org/ 目前国内访问是最快最新的了
    按照文档提供的方式我们先更新下RubyGems:
C:\Users\Administrator>gem update --system 这里可能要FQ
C:\Users\Administrator>gem -v
2.6.7

然后更换下源地址:

 gem sources --remove https://rubygems.org/
 gem sources -a https://gems.ruby-china.org/
 gem sources -l
 https://gems.ruby-china.org
 #确保执行这条命令后只会出现一个地址 多个的话请先执行remove命令

可能遇到的错误:

  • 接下来安装DevKit 先安装这个是因为安装Rails所依赖的包可能会依赖于这个 否则可能有些组件安装成功有些失败 不先安装这个亦可 等出错的时候再来安装 安装后再此重新安装rails就有点麻烦了 所以先安装这个省点事:
    DevKit的安装文件是个自解压程序 解压到指定目录后 命令行进入这个目录执行命令:
D:\DevKit>ruby dk.rb init  
#在此目录下将会生成config.yml文件 检查下配置的Ruby安装路径是否正确 
#如我这里Ruby是安装在D:\Ruby23-x64  yml文件中配置 - D:/Ruby23-x64   [这里---代表绝对路径 -是相对路径]
D:\DevKit>Ruby dk.rb review
#如果错误将输出两个[Info]信息 如若出现 `skip existing .... `之类信息 请检查配置的Ruby路径是否正确
D:\DevKit>Ruby dk.rb install
[INFO] Installing 'D:/Ruby23-x64/lib/ruby/site_ruby/2.3.0/rubygems/defaults/operating_system.rb'
[INFO] Installing 'D:/Ruby23-x64/lib/ruby/site_ruby/devkit.rb'

可能遇到的错误:

  • Invalid configuration. Please fix 'config.yml.' 解决方案 | 检查Ruby路径配置是否正确注意Utf-8编码
  • 然后开始正式进行Rails的安装 输入命令`C:\Users\Administrator>gem install rails'

如果正常安装后可以进行 rails -v 查看版本

可能遇到的错误:

  • ERROR: Could not find a valid gem 'rails' (>= 0), here is why:
    Unable to download data from https://rubygems.org/ - SSL_connecned=1 errno=0 state=SSLv3 read server certificate B: certificate verify f https://api.rubygems.org/specs.4.8.gz)
    解决方案 | 执行gem sources -l确认rails的源是否正确配置是否有效
  • Temporarily enhancing PATH to include DevKit...
    Building native extensions. This could take a while...
    ERROR: Error installing rails:ERROR: Failed to build gem native extension.
    解决方案 | 检查DevKit是否正确安装 可删除D:\Ruby23-x64\lib\ruby\site_ruby\devkit.rb重新进行安装
  • ERROR: Error installing rails:
    invalid gem: package is corrupt, exception while verifying: undefined method `size' for nil:NilClass (NoMethodError) in D:/Ruby23-x64/lib/ruby/gems/2.3.0/cache/mime-types-data-3.2016.0521.gem
    解决方案 | 同上
  • Error installing rails:The 'websocket-driver' native gem requires installed build tools.
    解决方案 | 同上
  • [INFO] Skipping existing gem override for 'D:/Ruby23-x64'
    [WARN] Skipping existing DevKit helper library for 'D:/Ruby23-x64'
    解决方案 | 同上 这个也是由于安装有问题 先确认config配置地址是否正确 再删除上述路径下devkit.rb文件重新安装试试
  • 安装Sqlite 这个比较简单 把上边下载的文件里的文件复制到Ruby安装目录下的bin目录下 执行命令gem install sqlite3即可

可能遇到的错误:

  • D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sqlite3-1.3.11-x64-mingw32/lib/sqlite3.rb:6:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError)
    解决方案 | 修改ruby目录lib\ruby\gems\版本\specifications\sqlite3-1.3.11-x64-mingw32.gemspec 把s.require_paths=["lib"]改为s.require_paths=["lib/sqlite3_native"]即可
    参考地址stackoverflow
  • 创建一个Ruby on Rails 项目
    输入命令:
rails new demo   

此处执行可能有点慢跟网速有关系 成功的话将会在C:\Users\Administrator\下创建demo目录 运行命令行打开至此目录运行rails server 将会监听3000端口 浏览器输入http://localhost:3000/即可访问
如果一直处于run bundle install这里请参考这里修改gemfile

总结起来步骤挺多,真正实践起来的话可能会很快
之前卡在devkit的地方摸索好几天才想到解决方案 惭愧 -_-!
规避这些坑 按步骤来 Windows下安装就是这么简单.
千万不要被那些个什么必须用linux或osx,绝笔不能用windows的教程唬住.


By Visual Studio Code 1.5.3 Markdown 2016.10.7
posted @ 2016-10-08 00:21  大杯美式不加糖不加奶  阅读(983)  评论(0编辑  收藏  举报