背景的特定版本:如何運行耙
- 我得到的錯誤,每當我運行的舊項目耙。 (未初始化的常量Rake :: DSL)。
- 有問題的rails項目是一個從Rails 2.1開始的舊項目(我認爲),從那時起我已經在我的筆記本電腦上更新了操作系統幾次,並且一直在更新它,使它運行。
- 現在,rails應用程序工作正常,只要我將RAILS_GEM_VERSION設置爲2.3.5。我不確定該應用程序是否已完全更新到到Rails 2.3.5。
- 我的舊項目中沒有Gemfile。
- 如果我創建一個全新的rails項目(並且未設置RAILS_GEM_VERSION),則rake運行良好。
我的問題:爲了排除故障,我想嘗試更新版本的耙子。我想知道如何強制使用一個特定的版本,因爲它似乎我安裝了多個版本。
信息在我的環境:
$ gem list rake
*** LOCAL GEMS ***
rake (0.9.2.2, 0.9.2, 0.8.7, 0.8.3)
$ rake --version
rake, version 0.8.7
因此,它看起來像它的拿起0.8.7版本。
所有在線幫助文件似乎告訴我要在Gemfile中指定耙式版本,但在此項目中沒有一個。 (?也許早gemfiles)
如果我乾脆取消設置RAILS_GEM_ENVIRONMENT變量,並嘗試運行耙,我得到:
rake aborted!
can't activate rails (= 2.3.5, runtime) for [], already activated rails-3.2.8 for []
在我的舊項目環境配置文件中沒有設置該變量要麼。
http://stackoverflow.com/questions/6243304/use-older-version-of-rake這可能會有所幫助。你有沒有嘗試下劃線解決方案? – John
我剛剛嘗試了下劃線解決方案,但是當我這樣做時:$ rake \ _0.9.2 \ _ --version,它仍然說它使用0.8.7。 – antun
我做了一點挖掘,我明白爲什麼下劃線方法不適合我。顯然,對於可執行的gem(比如rake),應該有一個包裝器在路徑中調用它。但是,對我來說,/ usr/bin/rake是../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/rake的符號鏈接。這*不像*我的rails可執行文件。對我來說,/ usr/bin/rails是一個從命令行提取版本的shell腳本。你可以嘲笑你的/ usr/bin/rake文件嗎? – antun