當我第一次開始編寫Rails應用程序時,我使用了.ruby-version,因爲我在RVM網站上閱讀了它。我爲我的兩個Rails應用程序做了這個。很久以前,我不記得我輸入的命令來激活它。我有七個其他應用程序,我不使用.ruby-version或.rvmrc。我所做的只是將gemset(rvm use)分配給應用程序,並且它們工作得很好。想停止在我的Rails應用程序中使用.ruby-version
這是我的情況。在我的開發服務器上,我可以通過使用rvm [email protected] --default將gemset更改爲我想要使用的gemset。一旦我這樣做,我做了一個包更新,以確保gemset中沒有缺失寶石。之後,我仍然可以運行該應用程序。然後我刪除了.ruby版本中的gemset。部署應用程序後,我仍然可以毫無問題地使用該網站。但是我的生產服務器上有不同的故事。我可以在生產服務器上執行相同的步驟,包括刪除.ruby-version文件,但不知何故,它仍然會查找已刪除的.ruby-version文件中的gem文件。當我將.ruby-version文件放回到應用程序中時,我必須執行軟件包更新才能將所有gem安裝到我試圖刪除的gemset中。我確信我在生產服務器上做了一些我在開發服務器上不應該做的事情。
我想改變兩個應用程序,它不像其他應用程序那樣使用.ruby-version。我的目標是爲所有使用最新版Rails 3.2的應用程序提供一個gemset,並最終爲所有Rails 4.0應用程序創建第二個gemset。
我試圖在堆棧溢出的.ruby版本上進行搜索,但找不到任何相關的帖子。也許我只是度過了一個糟糕的一天,因爲我肯定有人在過去幾年裏發表了一些關於此的文章。我試圖找到在RVM網站上討論.ruby-version的頁面,但找不到它。
任何幫助表示讚賞。
UPDATE 7/22上午09時22分CDT 0915 GMT-5
我想起我的開發服務器上我做了下面的命令,準備最終的Ruby升級到Ruby 2.0。
gem update --system 2.0.3
gem update bundler
我在生產服務器上沒有這樣做。我只是執行了這兩個命令,選擇了我想要使用的gemset,然後刪除了.ruby-version文件。該應用程序不起作用。當我把文件放回我的應用程序工作。當我做rvm gemset list它說它使用了我想在將來使用的gemset。不知何故,我能夠在我的開發服務器上擺脫對.ruby-version的需求,但在我的生產服務器上卻沒有。
這是問題所在。這是我的.ruby-版本文件中包含的內容:
[email protected]
RVM網站上有設置.ruby-version的邏輯。我想我沒有設置gemset用於應用程序,所以系統創建了一個名爲我的Rails應用程序的gemset。我早該說過了。我不希望應用程序使用它創建的gemsetname。
你用什麼紅寶石服務器?很可能你已經將其配置爲使用其他ruby或沒有正確重啓服務器。 – mpapis
我還在運行1.9.3。我意識到我不應該使用.ruby-version,因爲我沒有使用它。我所做的只是選擇我想要的寶石。他們工作正常。 –