Ruby 2.0. 0p0 IRB advertencia: "DL está obsoleto, por favor use Fiddle"
Acabo de desinstalar mis versiones anteriores de Ruby, eliminé todas mis gemas (incluyendo Rails), y Ruby 2.0 instalado. En otras palabras, una reinstalación totalmente limpia. Al comenzar IRB, recibí este mensaje:
DL is deprecated, please use Fiddle
Nota: Estoy en una máquina Windows.
¿Qué significa este mensaje?
5 answers
El mensaje que recibiste es común cuando tienes ruby 2.0.0p0 (2013-02-24)
en la parte superior de Ventanas .
El mensaje "DL is deprecated, please use Fiddle
" no es un error, es solo una advertencia.
La fuente es el aviso de obsolescencia para DL introducido hace algún tiempo en dl.rb
( véase revisions/37910 ).
En Windows el archivo lib/ruby/site_ruby/2.0.0/readline.rb
todavía requiere dl.rb
por lo que el mensaje de advertencia sale cuando require 'irb'
( porque irb requiere 'readline'
) o cuando algo else quiere require 'readline'
.
Puede abrir readline.rb
con su editor de texto favorito y buscar el código (cerca de la línea 4369):
if RUBY_VERSION < '1.9.1'
require 'Win32API'
else
require 'dl'
class Win32API
DLL = {}
Siempre podemos esperar una mejora para resolver esta obsolescencia en futuras versiones de Ruby.
EDITAR: Para aquellos que quieran profundizar en Fiddle vs DL , digamos que su propósito es vincular dinámicamente bibliotecas externas con Ruby; puede leer en el sitio web de ruby-doc acerca de DL o Fiddle .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-31 00:22:18
Es posible que desee comentar la advertencia DL is deprecated, please use Fiddle
en
C:\Ruby200\lib\ruby\2.0.0\dl.rb
Ya que es molesto y usted no es el irb/pry o algún otro propietario de código de gemas
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-28 01:23:14
Tengo esta resolución en openshift.com .
Resolución:
Este error solo ocurre en máquinas Windows con la versión Ruby 2.0.0. Hasta que oficialmente soportemos Ruby 2.0, por favor baje a Ruby 1.9.
En Windows, puede instalar Ruby 1.9.3 junto con 2.0. Cambiar su % PATH% to
c:\ruby193\
o cualquier directorio en el que haya instalado anteriormente para instalar la gema.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-11 18:25:52
El mensaje "DL está obsoleto, por favor use Fiddle" no es un error; es solo una advertencia.
Solución:
Puede ignorar esto en 3 sencillos pasos.
Paso 1. Goto C:\RailsInstaller\Ruby2.1.0\lib\ruby\2.1.0
Paso 2. Entonces encuentra a Dl.rb y abrir el archivo con cualquier editor en línea como Aptana,sublime text etc
Paso 3. Comente la línea 8 con ' # 'ie # warn" DL is deprecated, please use Fiddle".
Eso es, gracias.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-07 02:12:46
Me encontré con esto yo mismo cuando quería hacer un comando thor bajo Windows.
Para evitar tener esa salida de mensaje cada vez que ejecutaba mi aplicación thor silencié temporalmente las advertencias mientras cargaba thor:
begin
original_verbose = $VERBOSE
$VERBOSE = nil
require "thor"
ensure
$VERBOSE = original_verbose
end
Eso me salvó de tener que editar archivos fuente de terceros.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-19 14:08:29