2008-12-27 22 views
2

Chaque fois que j'exécute des commandes rake ou la plupart des rails, je reçois un avertissement ennuyeux. Je suis toujours un débutant avec Ruby/Rails, et je voudrais des conseils sur comment pirater boot.rb pour arrêter l'avertissement ennuyeux. J'utilise Rails 1.2.6 et RubyGems 1.3.1. (Je n'ai pas mis à jour Rails à 2.x parce que j'apprends encore des Rails à partir d'un livre qui utilise 1.2.x.) Je suis reconnaissant pour tout conseil. J'ai été incapable de trouver une solution grâce à googling. Merci!Comment pirater boot.rb pour arrêter l'avertissement ennuyeux? Gem :: SourceIndex # La prise en charge de la recherche de motifs String est obsolète

ligne boot.rb 20:

rails_gem = Gem.cache.search('rails', "=#{rails_gem_version}.0").sort_by { |g| g.version.version }.last 

un message Annoying:

boot.rb:20:Warning: Gem::SourceIndex#search support for String patterns is deprecated 

Répondre

7

Appel à Gem Source Index dans un boot.rb: "Gem.cache.search", remplacez simplement "search" par "find_name".

+0

Ça semble aller très bien, merci! Maintenant, je peux continuer à travailler sur l'application de dépôt du livre Dave Thomas/DHH sur Rails sans être ennuyé à chaque fois que j'exécute rake. – barneytron

0

D'abord, vous devez enquêter sur une approche qui supprimerait l'avertissement (comme des rails ou la mise à niveau rubis-pierres précieuses), plutôt que de supprimer si possible. Deuxièmement, selon la méthode docs on warn (http://www.ruby-doc.org/core/classes/Kernel.html#M006017), vous pouvez le supprimer en appelant/usr/bin/ruby ​​avec le drapeau -W0. Notez également que ce message est généré sur STDERR, vous pouvez donc également utiliser les techniques normales de redirection d'unix (par exemple pour le rediriger vers/dev/null ou mieux un fichier warnings.log)

+0

-1 - N'a pas abordé le point de la question d'une manière utile. L'idée de supprimer tous les avertissements n'est pas bonne. Et l'idée de mise à niveau a été clairement traitée par le PO. –

+0

je vais le cogner parce que diclophis veut corriger l'erreur sous-jacente (vieux rails) –

0

La réponse continue de donner. Merci. Cela me rendait fou.

En ce qui concerne les mises à jour des versions les plus récentes, le livre (Agile Development) échoue avec les versions plus récentes .

En outre, je fais fréquemment rake db: migrate. Je ne sais pas comment étouffer le message en appelant ruby ​​-W0 dans ce cas.