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的時候就注意規避這個問題。
安裝完畢后打開命令行工具輸入以下命令查看下版本號:
新版本的安裝包里是附帶安裝rubygems,可以直接查看下是否安裝成功:
C:\Users\Administrator\demo>gem -v 2.6.7注意:可能附帶安裝的gem版本不是最新版本 可以手動更新一下
- 更改RubyGems 此時可能你的網絡訪問官網源失敗導致安裝終止.原因你懂得.所幸我們還有廣大的Ruby愛好者提供的源.如果你搜索到的文章告訴你切換到http://ruby.taobao.org 那么趕緊關掉這個網頁吧,這個鏈接已經過時了.這個地址雖然在瀏覽器中可以訪問,但把源切到這個地址的時候實際上并不能正確訪問.據我之前看到的文章淘寶已不再維護這個了.我們可以使用Ruby中國社區提供的源 地址為https://gems.ruby-china.org/ 目前國內訪問是最快最新的了
按照文檔提供的方式我們先更新下RubyGems:
然后更換下源地址:
gem sources --remove https://rubygems.org/gem sources -a https://gems.ruby-china.org/gem sources -lhttps://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的安裝文件是個自解壓程序 解壓到指定目錄后 命令行進入這個目錄執行命令:
可能遇到的錯誤:
- 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
- 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 on Rails 項目
輸入命令:
此處執行可能有點慢跟網速有關系 成功的話將會在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
轉載于:https://www.cnblogs.com/summit7ca/p/5936622.html
總結
以上是生活随笔為你收集整理的Windows 8.1 安装Ruby on Rails手记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决Chrome账户无法同步
- 下一篇: c++实验6-【项目3:矩阵求和】