Ruby 2.0.0p0 Предупреждение IRB: "DL устарел, используйте Fiddle"
Я только что удалил свои старые версии Ruby, удалил все мои драгоценные камни
(включая Rails) и установлен Ruby 2.0. Другими словами, полностью чистая переустановка. После запуска IRB я получил это сообщение:
DL is deprecated, please use Fiddle
Примечание. Я нахожусь на компьютере с Windows.
Что означает это сообщение?
Ответы
Ответ 1
Сообщение, которое вы получили, является общим, если у вас ruby 2.0.0p0 (2013-02-24)
поверх Windows.
Сообщение "DL is deprecated, please use Fiddle
" не является ошибкой; это только предупреждение.
Источником является Уведомление об изъятии для DL, введенное некоторое время назад в dl.rb
(см. revisions/37910).
В Windows файл 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 = {}
Мы всегда можем надеяться на улучшение разработки этой устаревшей версии в будущих выпусках Ruby.
EDIT:
Для тех, кто хочет углубиться в Fiddle vs DL, можно сказать, что их целью является динамическое связывание внешних библиотек с Ruby; вы можете прочитать на веб-сайте ruby-doc DL или Fiddle.
Ответ 2
Вы можете запросить предупреждение DL is deprecated, please use Fiddle
в
C:\Ruby200\lib\ruby\2.0.0\dl.rb
так как его раздражает, и вы не являетесь владельцем кода irb/pry или какого-либо другого владельца драгоценных камней
Ответ 3
Я получил эту резолюцию в openshift.com.
Разрешение:
Эта ошибка возникает только на Windows-машине с версией Ruby 2.0.0. Пока мы официально не поддержим Ruby 2.0, пожалуйста, понизите рейтинг до Ruby 1.9.
В Windows вы можете установить Ruby 1.9.3 вместе с 2.0. Измените % PATH% до c:\ruby193\
или любой другой каталог, который вы установили ранее для установки драгоценного камня.
Ответ 4
Сообщение "DL устарело, используйте Fiddle", это не ошибка; это только предупреждение.
Решение:
Вы можете игнорировать это в 3 простых шага.
Шаг 1. Перейти к C:\RailsInstaller\Ruby2.1.0\lib\ruby \ 2.1.0
Шаг 2. Затем найдите dl.rb и откройте файл с помощью любых онлайн-редакторов, таких как Aptana, возвышенный текст и т.д.
Шаг 3. Прокомментируйте строку 8 с помощью "#", то есть # warn "DL устарел, используйте Fiddle".
Это, спасибо.
Ответ 5
Я столкнулся с этим сам, когда захотел сделать команду под Windows под Windows.
Чтобы избежать появления этого сообщения каждый раз, когда я запускал мое приложение-приложение, я временно отключил предупреждения при загрузке тора:
begin
original_verbose = $VERBOSE
$VERBOSE = nil
require "thor"
ensure
$VERBOSE = original_verbose
end
Это избавило меня от необходимости редактировать исходные файлы сторонних разработчиков.