रूबी 2.0.0p0 IRB चेतावनी: "डीएल को हटा दिया गया है, कृपया फिडेल का उपयोग करें"


196

मैंने सिर्फ रूबी के अपने पुराने संस्करणों की स्थापना रद्द की, मेरे सभी रत्नों (रेल सहित) को हटा दिया, और रूबी 2.0 स्थापित किया। दूसरे शब्दों में, एक पूरी तरह से स्वच्छ फिर से स्थापित। IRB शुरू करने पर, मुझे यह संदेश मिला:

डीएल को हटा दिया गया है, कृपया फिडल का उपयोग करें

नोट: मैं विंडोज मशीन पर हूं।

इस संदेश का क्या मतलब है?


2
आपकी ~/.irbrcफ़ाइल की सामग्री क्या है ?
टॉड ए। जैकब्स

2
मेरी अज्ञानता को क्षमा करें, लेकिन मैं इस फ़ाइल को कहाँ ढूँढ सकता हूँ?
fbonetti

1
@CodeGnome ध्यान दें कि @effbot विंडोज मशीन पर है। मैं जो देख सकता हूं, वह .irbrcडिफ़ॉल्ट रूप से नहीं है ।
चार्ल्स कैल्डवेल

2
warnआप हो रही है फ़ाइल "Ruby200 \ lib \ गहरे लाल रंग का \ 2.0.0 \ dl.rb" से आ रही है। मैं इसे तब प्राप्त करता हूं जब मैं irbया तो शुरू करता हूं या pry
चार्ल्स कैडवेल

14
यह एक ऐसा बुरा संदेश है। DL क्या है? फिडेल क्या है? मुझे क्यों बदलना चाहिए? मैं कैसे बदल सकता हूँ?
कर्नल पैनिक

जवाबों:


208

जब आपको विंडोज़ केruby 2.0.0p0 (2013-02-24) शीर्ष पर संदेश प्राप्त होता है, तो यह आम है ।

संदेश " DL is deprecated, please use Fiddle" एक त्रुटि नहीं है; यह केवल एक चेतावनी है

स्रोत डीएल के लिए कुछ समय पहले पेश किया गया डिप्रेसेशन नोटिस है dl.rb(देखें संशोधन / 37910 )।

विंडोज पर lib/ruby/site_ruby/2.0.0/readline.rbअभी भी फाइल की आवश्यकता है dl.rbइसलिए चेतावनी संदेश तब निकलता है जब आप require 'irb'(क्योंकि irb की आवश्यकता होती है 'readline') या जब कुछ और करना चाहते हैं require 'readline'

आप readline.rbअपने पसंदीदा टेक्स्ट एडिटर के साथ खुल सकते हैं और कोड देख सकते हैं (लाइन 4369 के पास):

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

हम हमेशा रूबी की भविष्य की रिलीज में इस पदावनति को सुधारने की उम्मीद कर सकते हैं ।

संपादित करें: फिडेल बनाम डीएल के बारे में गहराई से जाने के इच्छुक लोगों के लिए , यह कहा जाए कि उनका उद्देश्य रूबी के साथ बाहरी पुस्तकालयों को गतिशील रूप से जोड़ना है; आप डीएल या फिडल के बारे में रूबी-डॉक वेबसाइट पर पढ़ सकते हैं ।


@webRat पोस्ट को पुनः संपादित करें; मैं आपके साथ सहमत हूं, rbrealine.rb को एक गलत (मुझे लगता है) समुदाय द्वारा संपादित किया गया था। ध्यान देने के लिए आपको धन्यवाद!
फ्रेंको रोंडिनी जूल

1
यह सब इतना असंतोषजनक लगता है। वैसे भी, Msangle से नीचे टिप्पणी का ध्यान रखते हुए, "क्या बेला है?"
होगा

1
@Paul, वहाँ दो लिंक है कि हो सकता है आप नहीं देखा है इस सवाल का जवाब की अंतिम दो पंक्तियों में: ruby-doc.org/stdlib-2.0.0/libdoc/fiddle/rdoc/Fiddle.html , ruby-doc.org/ stdlib-2.0.0 / libdoc / dl / rdoc / DL.html
फ्रेंको

2
अपनी विंडोज मशीन पर, मैंने यह फाइलें rbreadline.rbऔर यहां readline.rbस्थित हैं C:\RailsInstaller\Ruby2.1.0\lib\ruby\site_ruby\2.1.0\ । मैं से लाइन बदल require 'dl'करने के लिए require 'fiddle'। और कोई चेतावनी नहीं।
ब्लेयरग

1
यह काम नहीं करता है क्योंकि लाइन के नीचे निर्भरताएं हैं, मुझे डर है, @ Blairg23
मार्टिन ग्रीनवे

74

आप DL is deprecated, please use Fiddleचेतावनी पर टिप्पणी करना चाह सकते हैं

C: \ Ruby200 \ lib \ गहरे लाल रंग का \ 2.0.0 \ dl.rb

चूंकि यह कष्टप्रद है और आप irb / pry या कुछ अन्य रत्नों के कोड स्वामी नहीं हैं


3
यदि आपको vagrant upविंडोज पर रन करते समय यह त्रुटि हो रही है, तो इस फाइल को ढूंढा जा सकता है C:\vagrant\embedded\lib\ruby\2.0.0dl.rb
sjy

1
धन्यवाद @ ओस्ज, मेरा स्थित थाC:\HashiCorp\Vagrant\embedded\lib\ruby\2.0.0\dl.rb
एमपीन

C: \ RailsInstaller \ Ruby2.1.0 \ lib \ ruby ​​\ 2.1.0 \ dl.rb लाइन 8
Sunil BN

3

मुझे यह रिज़ॉल्यूशन Openhift.com पर मिला है

संकल्प:

यह त्रुटि रूबी 2.0.0 संस्करण के साथ केवल विंडोज मशीन पर होती है। जब तक हम आधिकारिक तौर पर रूबी 2.0 का समर्थन करते हैं तब तक कृपया रूबी 1.9 के लिए डाउनग्रेड करें।

विंडोज पर, आप 2.0 के साथ रूबी 1.9.3 स्थापित कर सकते हैं। c:\ruby193\मणि स्थापित करने से पहले अपने% PATH% को या जो भी निर्देशिका आपने स्थापित की थी, उसे बदलें ।


क्या आप अतिरिक्त रूप से Openhift.com पर समाधान का लिंक दे सकते हैं?
अलेक्जेंडर वोग्ट

क्या आधिकारिक तौर पर बहुत निकट भविष्य में रूबी 2.0 का समर्थन करने की कोई योजना है?
बर्नहार्ड

@AlexanderVogt समाधान अब संदर्भित है। ऊपर मेरा संपादन देखें।
रॉड आर्गुमेदो

3

संदेश "डीएल पदावनत है, कृपया फिडल का उपयोग करें" कोई त्रुटि नहीं है; यह केवल एक चेतावनी है।
समाधान:
आप इसे 3 सरल चरणों में अनदेखा कर सकते हैं।
चरण 1. गोटो C: \ RailsInstaller \ Ruby2.1.0 \ lib \ ruby ​​\ 2.1.0
चरण 2. उसके बाद dl.rb ढूंढें और किसी भी ऑनलाइन संपादकों जैसे कि Aptana, उदात्त पाठ आदि के साथ फ़ाइल खोलें।
चरण 3। पंक्ति 8 के साथ टिप्पणी करें '' '' '' '' # चेतावनी '' डीएल को हटा दिया गया है, कृपया फिडेल का उपयोग करें ''।
यह बात है, धन्यवाद।


2

जब मैं विंडोज के तहत थोर कमांड बनाना चाहता था, तो मैं खुद इस में भाग गया।

उस संदेश के उत्पादन से बचने के लिए हर बार मैं अपने थोर एप्लिकेशन को चलाता था जो मैं थोर को लोड करते समय अस्थायी रूप से चेतावनी देता था:

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

मुझे तृतीय पक्ष स्रोत फ़ाइलों को संपादित करने से बचाया।


शांत समाधान, इसे अन्य लोगों के कोड में बदलाव की आवश्यकता नहीं है।
बर्नहार्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.