使用以下方法创建新的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: 宝石::依赖#version_requirements 已弃用,将被删除 或者在2010年8月之后。
刚刚出现的警告(我认为),但我想尽可能修复它。任何提示或类似的经历?
感谢。
答案 0 :(得分:2)
rake gems:install
顺便说一下。如果您使用的是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文件添加任何内容。你永远不会得到弃用警告。
答案 1 :(得分:2)
这可能是无关紧要的,因为它是rails 3.0,但您正在寻找的答案在本文中: http://omgbloglol.com/post/353978923/the-path-to-rails-3-approaching-the-upgrade 虽然文章确实解释了一些新的东西,但标题为“config.gem is dead,long live bundler”的部分仍然存在。
您可能需要考虑升级到rails 3.0,当您这样做时,您将在应用程序中使用Gemfile。在这里,您需要包含以下行:
gem'authlogic'
然后在命令行上运行
sudo bundle install
之后,所有都应该设置:)
答案 2 :(得分:1)
检查https://gist.github.com/807008他们建议降级并再次升级rubygems。
为我工作......
答案 3 :(得分:1)
将这些行放在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