您好,登錄后才能下訂單哦!
Ruby on Rails 在window平臺各種坑,配置過程相當痛苦。
預計安裝內容:
mysql server
ruby 2.0.0
rails 4.0.2
mysql2 0.3.16
安裝文件:
mysql官網:http://dev.mysql.com/downloads/windows/installer/
選擇64位安裝文件,下載安裝
railsinstaller:http://www.railsinstaller.org/en
正式版的是1.9.3的ruby,但是有個alpha版的ruby2.0 ,所以選擇安裝這個測試版。
這個installer中包含ruby,rails,git,gem,sqlite等等內容,算是一鍵安裝,非常方便。
當然,單從ruby官網推薦學習的安裝方式是先安裝ruby,在安裝gem,然后通過gem安裝rails,這個也可以。但是之后再連接DB的時候會出現各種莫名其妙的問題。棄之。
安裝成功之后,就可以new個project玩一下了。
mysql2安裝
開發因為要使用mysql,所以DB要配置成mysql。(這里是悲劇開始的地方,呵呵)
用上面的railsinstaller安裝的ruby是32位的。不知道是什么原因,直接安裝mysql2會失敗,還需要一個connector才行。
首先下載這個connector:http://dev.mysql.com/downloads/connector/c/ 選擇32位的zip包,不要用安裝包。
下載之后解壓,放到一個路徑下,這個路勁最好沒有中文沒有空格。 執行安裝命令:
gem install mysql2 -v '0.3.16' --platform=ruby -- '--with-mysql-dir="上面connector解壓的路勁"'
比如我的是:
gem install mysql2 -v '0.3.16' -- '--with-mysql-dir="C:\mysql-connector-c-noinstall-6.0.2-win32"'
這樣就可以安裝成功了。
安裝成功之后,需要辦connectPath/lib里面的libmysql.dll libmysql.lib這兩個文件放到ruby/bin里面。
常用的命令:
gem install
gem uninstall
gem list 列出gem中已安裝的gem
gem update 更新
gem sources 查看gem使用的源
rails new projectname --新建一個ROR project
rails server --啟動rail server,類似啟動tomcat
rails generate scaffold --新建腳手架,這個也是ruby好處1min建立一個blog的原因。
rails destory scaffold --刪除腳手架
bundle install
bundle update
bundle show --顯示某個gem位置
(ps:看我列出來的命令,就知道我是個不能再初級的小白了。。。)
關于troubleshooting:
個人覺得rails的錯誤提示信息還是很強大的,如果出現問題,先看給出的信息是什么,一些通用額問題甚至給出解決方案。看信息很重要。
然后最強大的當然是google baidu了。
網絡環境:
公司限網,還是使用代理上網,gem的相關操作都是在cmd里完成的,而且需要銜接外網獲取gem 包。
在安裝之前,最好先設置好代理:
set http_proxy=http://hostname:port
如果使用git做源碼管理的話,也需要設置代理。 (網絡自由是很重要的,呼吁解封google)
gem的默認源是國外的網站,不穩定,速度慢,一般都會改成taobao的鏡像,貌似是15min同步一次。(http://ruby.taobao.org)
顯示當前使用的sources
gem sources
添加一個source
gem sources -a url地址
刪除一個source
gem sources -r url地址
更新source cache
gem sources -u
學習資料:
http://railstutorial-china.org/rails4/
ruby 開發風格指導
http://guides.ruby.tw/ruby-rails-style-guides/zhCN/
books
http://railstutorial-china.org/
http://guides.ruby-china.org/
http://ihower.tw/rails3/index.html
--------------------------------------------------------------------------------------
安裝上面的一步步下來,應該可以順利運行一個project了。
我在配置環境的過程中遇到很多問題,
1 網絡環境,公司環境需要代理,導致在線安裝的各種失敗。這個糾結了很久,本以為會自動使用IE的代理設置。
2 安裝版本
一開始直接安裝1.9.3的railsinstaller,這個里面的ruby是1.9.3的版本,項目用的2.0.0,。棄之,重新安裝。卻驚奇的發現正式版的installer沒有2.0.0的。也沒有看到網站的的小字里面提到的測試版。
然后就直接找了ruby2.0.0(64bit)的安裝文件,安裝之后,通過gem安裝rails等其他東西。
ROR默認使用sqlite,一個開始沒換成mysql的時候,玩的很順利。然后著手換成mysql2。就卡住了。
先是配置,網上搜了各種教程,各種失敗。
先是mysql2安裝失敗,bundle install失敗,gem install mysql2 也失敗。慢慢baidu的過程中知道需要connetor,然后就找了各種版本的connector來嘗試。因為mysql安裝的是64bit,就下載了64bit的安裝版來試,還是不行。后來知道不用安裝版,要用zip版,嘗試嘗試。換成32bit之后,還是有不行。雖然可以順利安裝mysql2,但在執行generate scaffold的時候,提示一個‘不是有效的可執行文件’的錯誤。至此,完全卡住。網上的很多解決方案提到出現這個問題的原因是32bit的ruby和64bit的mysql不兼容。我的ruby是64bit,我也嘗試使用64bit的connector也不行。
ps: connector 也有版本之分,6.0.2和6.1.5,上面使用的6.1.5,有的時候需要6.0.2,安裝mysql的有提示。
有的文章提到測試版railsinstaller,無路可走的情況下,卸載了本地的ruby rails,使用測試版的railsinstaller才有了上邊的總結。
雖然初步解決問題,但是依然不知道根本原因是什么。
解決問題的思路也不夠清晰,通常是各種解決方案繞在一起,混在一起嘗試,導致最后不知道那個方案可以,那個方案徹底失敗,哪個方案還需在嘗試。
出現跟多問題的時候,一起解決,導致問題復雜化,也附加其他各種莫名問題。
-----------------------------------------------------------------------------------------------------------
問題依然存在,有個項目源碼在我配置好的環境下依然不行。還是mysql2安裝問題。
待續~
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。