Ruby 2.0.0p0 IRB uyarısı: “DL kullanımdan kaldırıldı, lütfen Fiddle kullanın”


196

Ruby'nin eski sürümlerimi kaldırdım, tüm mücevherlerimi (Rails dahil) kaldırdım ve Ruby 2.0'ı yükledim. Başka bir deyişle, tamamen temiz bir yeniden kurulum. IRB'yi başlattıktan sonra şu mesajı aldım:

DL kullanımdan kaldırıldı, lütfen Fiddle kullanın

Not: Bir Windows makinesindeyim.

Bu mesajın anlamı nedir?


2
~/.irbrcDosyanızın içeriği nedir ?
Todd A. Jacobs

2
Cehaletimi affedin, ancak bu dosyayı nerede bulabilirim?
13'te fbonetti

1
@CodeGnome @effbot'un bir Windows makinesinde olduğuna dikkat edin. Görebildiğim kadarıyla, Windows'un .irbrcvarsayılan olarak bir değeri yoktur.
Charles Caldwell

2
warnEğer alıyorsanız dosya "Ruby200 \ lib \ yakut \ 2.0.0 \ dl.rb" geliyor. Başladığımda irbda anlıyorum ya da pry.
Charles Caldwell

14
Bu çok kötü yazılmış bir mesaj. DL nedir? Fiddle nedir? Neden değişmeliyim? Nasıl değiştirebilirim?
Albay Panik

Yanıtlar:


208

Aldığınız mesaj ruby 2.0.0p0 (2013-02-24), Windows'un üstünde olduğunuzda yaygındır .

" DL is deprecated, please use Fiddle" Mesajı bir hata değil; bu sadece bir uyarı .

Kaynak, DL için bir süre önce piyasaya sürülen Kullanımdan Kaldırma bildirisidirdl.rb (bkz. Revizyonlar / 37910 ).

Windows'da lib/ruby/site_ruby/2.0.0/readline.rbdosya yine de gerektirir, dl.rbbu nedenle (çünkü irb gerektirir ) veya başka bir şey yapmak istediğinde uyarı mesajı çıkar .require 'irb''readline'require 'readline'

En readline.rbsevdiğiniz metin düzenleyicisiyle açıp kodu arayabilirsiniz (4369 satırına yakın):

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

Ruby'nin gelecekteki sürümlerinde bu kullanımdan kaldırmayı çözmek için her zaman bir iyileşme umuyoruz .

DÜZENLEME: Fiddle vs DL hakkında daha derine inmek isteyenler için , amaçlarının harici kütüphaneleri dinamik olarak Ruby ile bağlamak olduğunu söyleyelim; DL veya Fiddle ile ilgili ruby-doc web sitesinde okuyabilirsiniz .


@webRat Sadece yayını yeniden düzenleyin; Sana katılıyorum, rbrealine.rb yanlış bir Düzenleme (sanırım) topluluk tarafından tanıtılmıştır. İlginiz için teşekkürler!
Franco Rondini

1
Bütün bunlar kulağa tatmin edici gelmiyor. Her neyse, Msangle'dan "Keman nedir?"
will

1
@ Paul, cevabın son iki satırında belki görmediğiniz iki bağlantı var: ruby-doc.org/stdlib-2.0.0/libdoc/fiddle/rdoc/Fiddle.html , ruby-doc.org/ stdlib-2.0.0 / libdoc / dl / rdoc / DL.html
Franco Rondini

2
Windows makinemde bu dosyaları rbreadline.rbve readline.rbadresinde buldum C:\RailsInstaller\Ruby2.1.0\lib\ruby\site_ruby\2.1.0\ . Çizgiyi yerine olarak require 'dl'değiştirdim require 'fiddle'. Başka uyarı yok.
Blairg23

1
Korkarım bağımlılık olduğu için bu işe yaramıyor, @ Blairg23
Martin Greenaway

74

DL is deprecated, please use FiddleUyarıyı yorum yapmak isteyebilirsiniz

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

sinir bozucu olduğundan ve sen irb / pry veya diğer bazı taşlar kod sahibi değilsin


3
vagrant upWindows'da çalışırken bu hatayı alıyorsanız , bu dosya adresinde bulunabilir C:\vagrant\embedded\lib\ruby\2.0.0dl.rb.
sjy

1
Teşekkürler @syj, benimki yerC:\HashiCorp\Vagrant\embedded\lib\ruby\2.0.0\dl.rb
mpen

C: \ RailsInstaller \ Ruby2.1.0 \ lib \ ruby ​​\ 2.1.0 \ dl.rb line 8
Sunil BN

3

Bu kararı openshift.com'da aldım .

Çözüm:

Bu hata yalnızca Ruby 2.0.0 sürümüne sahip Windows makinesinde oluşur. Resmi olarak Ruby 2.0'ı destekleyene kadar lütfen Ruby 1.9'a geçin.

Windows'ta, Ruby 1.9.3'ü 2.0 ile birlikte yükleyebilirsiniz. c:\ruby193\Gem yüklemeden önce % PATH% değerinizi veya yüklediğiniz herhangi bir dizini değiştirin .


Ayrıca openshift.com'daki çözüme bir bağlantı verebilir misiniz?
Alexander Vogt

Çok yakın bir zamanda yakut 2.0'ı resmi olarak destekleme planı var mı?
Bernhard

@AlexanderVogt Çözüme artık başvurulmuştur. Yukarıdaki düzenlememe bakın.
Rod Argumedo

3

"DL kullanımdan kaldırıldı, lütfen Fiddle kullanın" mesajı bir hata değildir; bu sadece bir uyarı.
Çözüm:
Bunu 3 basit adımda yok sayabilirsiniz.
Adım 1. C: \ RailsInstaller \ Ruby2.1.0 \ lib \ ruby ​​\ 2.1.0
Adım 2. Git dl.rb dosyasını bulun ve Aptana, yüce metin vb. Gibi çevrimiçi editörlerle dosyayı açın.
Adım 3. '#' yani # uyar "DL kullanımdan kaldırıldı, lütfen Fiddle kullanın".
Hepsi bu, teşekkürler.


2

Windows altında bir thor komutu yapmak istediğimde bunu kendim hallettim.

Thor uygulamamı her çalıştırdığımda bu iletinin çıktısını almaktan kaçınmak için thor yüklerken geçici olarak uyarıları kapattım:

begin
  original_verbose = $VERBOSE
  $VERBOSE = nil
  require "thor"
ensure
  $VERBOSE = original_verbose
end

Bu, üçüncü taraf kaynak dosyalarını düzenlemek zorunda kalmamı engelledi.


serin çözüm, başkalarının kodunda değişiklik gerektirmez.
Bernhard
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.