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