[FUG-BR] undefined method `deprecate' for DBI::Date:Class (NoMethodError)

Cleyton Agapito cragapito em gmail.com
Quinta Junho 17 09:46:01 BRT 2010


Olá pessoal,

Estou mandando o que resolveu pra mim depois de bater cabeça, não
marquei o assunto como resolvido por ser paliativo e porque creio que
mesmo assim cumpra o papel de chegar a quem tiver um problema parecido
e precise de urgência (como era meu caso).

Ontem estava atualizando meus ports e tive uma surpresa desagradável:

/usr/local/lib/ruby/site_ruby/1.8/dbi/utils/date.rb:57: undefined
method `deprecate' for DBI::Date:Class (NoMethodError)
       from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
       from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`require'
       from /usr/local/lib/ruby/site_ruby/1.8/dbi/utils.rb:56
       from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
       from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`require'
...

Tem uma PR aberta sobre isso:

http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/147809

O natural é tentar mexer no ruby-dbi que instala o
/usr/local/lib/ruby/site_ruby/1.8/dbi/utils/date.rb, mas alterar os
scripts vai te levando cada vez a outro módulo e no final também não
funcionama. Ele salta da versão 0.1.1 para a 0.4.3 e a antiga não
carrega nem o driver.

O que resolveu foi o /usr/ports/ports-mgmt/portdowngrade/, tive toda a
sorte de problemas com os servidores, até achavam o pacote mas não
baixavam, no desespero foi o do exemplo do handbook mesmo:

# portdowngrade rubygem-deprecate -s
:pserver:anoncvs em anoncvs.tw.FreeBSD.org:/home/ncvs

Baixando o rubygem-deprecate da 3.0.0 para a 2.0.1 (imediatamente
inferior) meus scripts voltaram a funcionar.

Espero que ajude.

[]'s


Mais detalhes sobre a lista de discussão freebsd