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命令
可能遇到的错误:
- Error fetching https://gems.ruby-china.org/:SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B:
certificate verify failed (https://rubygems-china.oss-cn-hangzhou.aliyuncs.com/specs.4.8.gz)
解决方案 | 请尝试把https://gems.ruby-china.org/改为http方式.
- 接下来安装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
作 者:大杯美式不加糖不加奶
出 处:http://www.cnblogs.com/pomelos7ca/
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
若您觉得这篇文章还不错请点击推荐按钮,有了您的支持才能激发作者更大的写作热情,非常感谢。