2011-11-11 23 views
0

我開始學習Ruby on Rails,我在VMWare機器上安裝了最新的ubuntu發行版,並使用迷你指南在this online book(這是建議的在堆棧溢出不止一次)。我想知道:RoR新手:關於rails設置和rubygems

作爲我的環境設置過程的一部分,我安裝了RubyGems並在第一次使用它來安裝Rails(也就是說,如果我理解正確 - 寶石本身)。

現在,當使用rails new project_name創建一個新項目時,我稍後編輯Gemfile並指定「rails'{version}'」,根據我的理解,在項目上下文中安裝Rails gem(使用後bundle install)...

爲什麼我需要他們兩個?我有點困惑,如果有人能對此有所瞭解,我會感到非常高興......

回答

0

是的,這有點混亂。

當您運行rails new project_name時,您正在使用任何rails可執行文件在shell中可用來啓動一個新的rails項目。要查看這是什麼版本,請運行rails —version。這不是「安裝rails gem」 - 它只是生成文件樹,讓你開始一個新的rails項目。

然後,您將在Gemfile中指定您的項目將使用哪個版本的導軌。

因此,當您生成新項目時,一定要在您的shell中使用最新版本的rails,以便獲取它生成的最新版本的文件。

+0

因此,基本上,gem install rails -v {version}會處理所有需要創建rails項目(包括上面提到的可執行文件以及各種rails相關gem)的「工具」。 現在,當創建一個新的rails項目(使用rails new {project_name})時,我需要在Gemfile中指定安裝在我的計算機上的rails版本以及我想包含在我的項目中的任何其他gem文件,可能在我的電腦上安裝了各種版本,我可以選擇指定每個寶石版本? 「 –

+0

」包括您在上面提到的可執行文件 - nope - 用於生成項目的可執行文件當然已經存在於您的計算機上,因爲您剛剛使用它:-) rails gem恰好會附帶一個生成新的可執行文件rails項目,他們可以將它命名爲rails_tool或其他東西,並且可以將它與框架gem分開分發,但不是爲了方便起見,也許下一步就是觀看關於Bundler的一些截屏視頻。 –