2017-03-03 69 views
1

如果我只是在我的用戶文件夾中,而我做rails -v我得到5.0.2。但是,如果我進入我的項目的目錄我得到5.0.0.1。根據文件夾的不同導軌版本

爲什麼會有差異,我如何更新我的項目是最新版本的導軌?

+0

查看項目中的'Gemfile' /'Gemfile.lock'文件。這就是指定rails的項目版本。也閱讀Bundler。 –

+1

也可以是與RVM或rbenv耦合的'.ruby-version'文件。 –

回答

1

Bundler使用Gemfile.lock來保存寶石的版本和名稱。當它被檢入版本控制時,它可以確保你的所有寶石在所有機器上完全相同。這在不斷變化的世界中促進穩定。

Gemfile.lock由bundler生成,並基於Gemfile的語法系統,您可以在那裏指定版本。

如果您想更新鐵軌,你可以運行:

bundle update rails 

你應該小心與更新的寶石。確保您有更好的測試覆蓋率並在更新後運行測試套件,以確保您沒有因爲更新而損壞任何東西。

下面是捆綁器文檔的Gemfile.lock page的鏈接,它涵蓋了很多這些主題。

而且,這裏有一個鏈接到Gemfile文檔。

+0

我最終只需將我的gem文件從5.0.0.1更改爲5.0.2,然後運行捆綁軟件安裝,然後捆綁更新並運行。我已經運行了軟件包更新導軌,但由於某種原因它沒有更新該特定的應用程序。 – blueduckyy

+0

是的。這與您在Gemfile中聲明您的rails gem時使用的語法有關,例如'寶石軌','5.0.0.1'。如果你已經使用了'〜>'語法,它會更新而不需要進行明確的更改,因爲版本更改不會超過5.1。看到這個答案:http://stackoverflow.com/questions/5101591/what-does-mean-in-a-gem-file –