2010-04-02 8 views
3

Lors de la création d'un nouveau projet Rails en utilisant:GEM Version requise désapprouvées

rails sample 

créer ensuite un modèle en utilisant:

script/generate model person first_name:string last_name:string 

Tout va bien. Cependant, si j'ajoute des pierres précieuses à mon environment.rb:

config.gem "authlogic" 

et exécuter le même générateur, je reçois le texte suivant:

/Library/Ruby/Gems/1.8/gems/rails- 2.3.5/lib/rails/gem_dependency.rb: 119: avertissement: Gem :: dépendance # version_requirements est dépréciée et seront enlevés sur ou après Août 2010.

L'avertissement tout récemment apparu (I pense), mais je voudrais le réparer si possible. Des indices ou des expériences similaires?

Merci.

Répondre

2

avez-vous essayé:

gemmes râteau: installer

btw. Si vous utilisez rubygems 1.3.6, vous obtenez cet avertissement de désapprobation. Les versions précédentes n'ont jamais donné d'avertissement. Aussi, je suggère d'installer n'importe quel gem en utilisant la ligne de commande plutôt que de l'ajouter dans le fichier environment.rb. Si les gemmes que vous avez ajoutées dans le fichier ne sont pas installées, alors le générateur ou toute tâche de rake ne fonctionnera tout simplement pas. C'est un bug mineur.

Voici un article qui décrit un moyen d'empêcher l'avertissement: http://www.mattvsworld.com/blog/2010/03/version_requirements-deprecated-warning-in-rails/

Son pas grand-chose cependant. Il suffit d'installer les gems de la manière habituelle et de ne pas en ajouter dans votre fichier environment.rb. Vous n'obtiendrez jamais l'avertissement de dépréciation.

+1

Merci! J'ai suivi quelques liens et suis arrivé à ce commit: http://github.com/rails/rails/commit/268c9040d5c3c7ed30f3923eee71a78eeece8a8a –

2

Cela peut être hors de propos car il est des rails 3.0 mais la réponse que vous cherchez est dans cet article: http://omgbloglol.com/post/353978923/the-path-to-rails-3-approaching-the-upgrade par la section intitulée « config.gem est mort, Bundler en direct », bien que l'article n'explique quelques nouvelles choses.

Vous pouvez envisager de mettre à niveau vers les rails 3.0 et lorsque vous le faites, vous utiliserez le Gemfile dans votre application. ici, vous voulez inclure la ligne:

bijou « authlogic »

puis sur la ligne de commande, exécutez

paquet sudo installer

Après cela, tout doit être réglé:

1

Mettre ces lignes dans votre config/environment.rb entre votre amorçage et votre initialiseur supprimera l'avertissement deprecation:

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

fonctionne avec des rails 2.3.5/ruby ​​1.8.7-p370 – Mikey