溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Ruby on Rails 在Wind7 64 上的安裝

發(fā)布時(shí)間:2020-04-04 12:30:40 來源:網(wǎng)絡(luò) 閱讀:670 作者:waterBool 欄目:編程語言

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)容,算是一鍵安裝,非常方便。

Ruby on Rails 在Wind7 64 上的安裝


當(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ù)~






















向AI問一下細(xì)節(jié)

免責(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)容。

AI