2010-04-02 40 views
3

創建時使用新的Rails項目:GEM版本要求棄用

rails sample 

然後創建使用模型:

script/generate model person first_name:string last_name:string 

一切都很好。不過,如果我添加任何寶石,我的environment.rb:

config.gem "authlogic" 

並運行相同的發電機,我得到如下:

/Library/Ruby/Gems/1.8/gems/rails- 2.3.5/lib目錄/導軌/ gem_dependency.rb:119:警告: 寶石::依賴#version_requirements 已取消,將在 或之後2010年8月剛剛被刪除

警告出現(我想想),但我如果可能的話,想修復它。任何提示或類似的經歷?

謝謝。

回答

2

做了嘗試:

耙寶石:安裝

順便說一句。如果你正在使用rubygems 1.3.6,那麼你會得到這個棄用警告。以前的版本從未給出警告。另外我建議使用命令行安裝任何gem,而不是將其添加到environment.rb文件中。如果您在文件中添加的gem沒有安裝,那麼生成器或任何rake任務將不會運行。它是一個小錯誤。

這裏是一個描述的方式,以防止該警告的文章: http://www.mattvsworld.com/blog/2010/03/version_requirements-deprecated-warning-in-rails/

它沒什麼大不了的,但。按正常方式安裝gems,不要將任何內容添加到您的environment.rb文件中。你永遠不會得到棄用警告。

+1

謝謝!我跟着幾個鏈接,並得到了這個提交:http://github.com/rails/rails/commit/268c9040d5c3c7ed30f3923eee71a78eeece8a8a – 2010-04-05 15:40:15

2

這可能是無關緊要的,因爲它是軌道3.0,但你正在尋找的答案是這樣的文章: http://omgbloglol.com/post/353978923/the-path-to-rails-3-approaching-the-upgrade 下降了標題爲「config.gem死了,萬歲打捆」,雖然文章沒有解釋一些新的東西。

您可能需要考慮升級到rails 3.0,當您這樣做時,您將在應用程序中使用Gemfile。在這裏,你將要包括的行:

寶石「authlogic」

,然後在命令行上,運行

sudo的包安裝

之後,都應該進行設置: )

1

把你的到config/environment.rb這些線路的引導和你的初始化之間將刪除棄用警告:

if Gem::VERSION >= "1.3.6" 
    module Rails 
    class GemDependency 
     def requirement 
     super == Gem::Requirement.default ? nil : super 
     end 
    end 
    end 
end 
+0

與rails 2.3.5/ruby​​ 1.8.7-p370 – Mikey 2012-11-07 10:03:46