簡體   English   中英

GEM版本要求已棄用

[英]GEM Version Requirements Deprecated

使用以下方法創建新的Rails項目時:

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/rails/gem_dependency.rb:119:Warning:Gem :: Dependency#version_requirements已棄用,將於2010年8月或之后刪除。

剛剛出現的警告(我認為),但我想盡可能修復它。 任何提示或類似的經歷?

謝謝。

你試過了嗎:

耙寶石:安裝

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

這篇文章描述了一種防止警告的方法: http//www.mattvsworld.com/blog/2010/03/version_requirements-deprecated-warning-in-rails/

雖然沒什么大不了的。 只需以正常方式安裝gem,不要向environment.rb文件添加任何內容。 你永遠不會得到棄用警告。

這可能是無關緊要的,因為它是rails 3.0,但您正在尋找的答案在本文中: http//omgbloglol.com/post/353978923/the-path-to-rails-3-approaching-the-upgrade down by標題為“config.gem is dead,long live bundler”的部分雖然文章確實解釋了一些新的東西。

您可能需要考慮升級到rails 3.0,當您這樣做時,您將在應用程序中使用Gemfile。 在這里,您將要包含以下行:

寶石'authlogic'

然后在命令行上運行

sudo bundle install

之后,所有應該設置:)

檢查https://gist.github.com/807008他們建議降級並再次升級rubygems。

為我工作......

將這些行放在bootstrap和初始化程序之間的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM