196 votes

Erreur IRB Ruby 2.0.0p0 : "DL est déprécié, veuillez utiliser Fiddle"

Je viens de désinstaller mes anciennes versions de Ruby, j'ai supprimé toutes mes gemmes. (y compris Rails), et installé Ruby 2.0. En d'autres termes, une réinstallation totalement propre. Au démarrage d'IRB, j'ai reçu ce message :

DL is deprecated, please use Fiddle

Note : Je suis sur une machine Windows.

Que signifie ce message ?

208voto

Franco Rondini Points 4317

Le message que vous avez reçu est commun sur ruby 2.0.0p0 (2013-02-24) sur le dessus de Windows

Le message "DL is deprecated, please use Fiddle" n'est pas une erreur; c'est seulement un avertissement.

La source est l' Autodérision avis pour DL introduit il y a quelques temps, en dl.rb ( voir révisions/37910 )

Sur Windows, l' lib/ruby/site_ruby/2.0.0/readline.rb encore exiger dl.rb de sorte que le message d'avertissement lorsque vous require 'irb' ( en raison de la cisr ont besoin d'un readline' ) ou quoi que ce soit d'autre veut require 'readline'

Vous pouvez l'ouvrir avec votre éditeur de texte favori de l' readline.rb et recherchez le code ( à proximité de la ligne de 4369)

   if RUBY_VERSION < '1.9.1'
      require 'Win32API'
    else
      require 'dl'
      class Win32API
        DLL = {}

On peut toujours espérer une amélioration de cette dépréciation dans les futures versions de ruby.

EDIT: Pour ceux qui veulent aller plus loin sur le Violon Vs DL dire que leur but est de lier dynamiquement des bibliothèques externes avec Ruby, vous pouvez lire ruby-doc à propos de DL ou de Violon.

74voto

Erwin Kaddy Points 392

Vous voudrez peut-être commenter le DL is deprecated, please use Fiddle avertissement à

C:\\Ruby200\\lib\\ruby\\2.0.0\\dl.rb

puisque c'est ennuyeux et que vous n'êtes pas le propriétaire du code irb/pry ou autre gems

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X