標籤:
最近工作需要學習一門新語言:ruby。久聞大名,知道她的存在是因為網上流傳的一篇文章《怎樣在兩個月內教會妹妹與女友編程》,今日終於要用到了,有些小激動呢~~又學了門新語言來~~ 電腦系統是win8,在win8下的VMware裡裝了個Ubuntu 14.04 麒麟,昨天下午先搞明白了win安裝。
Win8 64位安裝
- 安裝ruby
在win下安裝rubyinstaller會根據你的電腦系統下載的,比如說我是2014.11.25下載的,版本為 rubyinstaller-2.1.5-x64.exe。當然由於是日本人開發的所以只有日語和英語的版本,選擇後accept協議,進入以下介面:
Note:
- 一定要把中間的Add Ruby executables to your PATH給選上,將自動將ruby路徑添加到環境變數中。然後安裝,ok~
- 安裝路徑要注意,第一次安裝的時候安到E:\Program Files\bla bla...這樣的目錄下,在後面安裝完rails的時候會出現類似‘ ‘‘E:Program不是內部或外部命令這樣的錯誤,後來發現可能是目錄中檔案夾有空格識別不了。最後直接安裝在根目錄下就好了~
最後輸入在命令列下輸入ruby -v測試一下:
hoho~~安裝成功~~so easy~~
- 安裝rubygems
在win下需下載zip版Rubygems,解壓後執行目錄下的setup.rb,例如2014-11-25下載的版本是rubygems-2.4.4.zip解壓後:在命令列執行ruby setup.rb命令:安裝完成後用gem -v測試一下:oh~yeah~
- 安裝rails
遠程安裝的話,如果網路不夠好,是需要很長時間的,所以我們就手動來好了~ruby所需gem在rubygems.org網站下搜尋下載即可(這裡所有軟體都是使用的現有最新版本)。
a)首先需要下載rails所需依賴,其實在這裡就可以看到安裝rails所需要的依賴:
但是通過安裝時間推算出其中有幾個依賴在安裝過程中包含了其他依賴,比如安裝了activerecord時就已經安裝了view和model:
所以最後依賴的安裝還是按照之前版本的rails安裝,要按下面順序來~~
a)下載以下activesupport
activerecord actionpack actionmailer rake rails(右下角有個download,自動下載當前最新穩定版本,2011-11-25是activesupport-4.1.8.gem)
下載後把所有gem放到同一個檔案夾下(例如c:\ror)
b)使用gem install
命令
按順序安裝:
gem install activesupport-4.1.8.gem
gem install activerecord-4.1.8.gem
gem install actionpack-4.1.8.gem
gem install actionmailer-4.1.8.gem
gem install rake-10.3.2.gem(會提示覆蓋ruby的rake,上述ruby版本的rake版本比這個低)
gem install rails-4.1.8.gem
c)測試一下:
rails -v
Note:
發現這句話沒有:
DL is deprecated, please use Fiddle
這個是一個Warning資訊,不用太在意,但如果實在嫌棄它的話可以將其去掉,方法:去掉DL is deprecated, please use Fiddle警告資訊
- 建立並運行web應用
a) 建立
使用rails new
ApplicationName來建立新的web應用,例如進入應用儲存目錄輸入命令rails new Blog
,會顯示create一些檔案,並會運行bundle install 命令檢查Gemfile中的依賴是否可行。
那麼在儲存目錄就會出現名為Blog檔案夾,並包含了自動產生的一些檔案:
Note:
這一步因為執行了bundle有可能出現這樣的問題:Gem::InstallerError:The ‘json‘ native gem requires installed build tools......
解決辦法參照:Gem::InstallerError:The ‘json‘ native gem requires installed build tools 錯誤解決
b) 啟動伺服器:
下面讓我們來啟動一下ruby on rails內建的伺服器webrick,在這個版本中,啟動命令為:
rails s(or server)(在應用目錄下執行,例如....\Blog\):
然後在瀏覽器輸入http://localhost:3000測試一下吧~~
Bingo~~成功了~~
Note:
如果出現了:C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/tzinfo-1.2.2/lib/tzinfo/data_source.rb:182:in `rescue in create_default_data_source‘: No source of timezone data could be found. (TZInfo::DataSourceNotFound)的錯誤,請參照:
data_source.rb:182: TZInfo::DataSourceNotFound
解決辦法
c) 運行應用:
rails是一個由ruby語言寫的架構,可以參照rails指南來瞭解。
首先在新產生的應用中使用generate命令rails g(generate) controller welcome index建立一個名為welcome的控制器,如下:
可以看到在app/controllers和app/views下產生相應的控制器和視圖。編輯檢視index.html.erb,隨便寫點東西進去如...
然後重頭戲來了~~
設定應用的入口即首頁:
開啟Blog/config/routes.rb檔案:
其中get ‘welcome/index‘是在執行上述rails generate controller welcome index命令時產生,該語句告訴rails在訪問http://localhost:3000/welcome/index時執行welcome控制器中的index動作。在可以看到有一行root開頭的root ‘welcome#index‘去掉前面的注釋,該語句告訴rails訪問根路徑時交給控制器welcome中的index動作處理,此時輸入http://localhost:3000時便會顯示index中的內容:
媽媽再也不用擔心的ruby on rails環境了~~好開心~
ruby on rails 安裝(win8 64位)