Расположение файлов библиотеки ruby-gtk2, перемещенных в 17.10?

Я пытаюсь использовать Rubyripper (программу для распаковки компакт-дисков, которую можно скачать здесь: http://code.google.com/p/rubyripper) на Ubuntu 17.10. Это скрипт и куча файлов; вы устанавливаете зависимости и запускаете скрипт. Я использовал его на многочисленных версиях Ubuntu, включая совсем недавно 17.04, без проблем. Недавно я недавно установил 17.10. (Я также пробовал это на другом компьютере, который я обновил с 17.04 по 17.10, с теми же результатами.)

Скрипт, который вы запускаете для использования Rubyripper, начинается следующим образом:

#!/usr/bin/env ruby # Rubyripper - A secure ripper for Linux/BSD/OSX # Copyright (C) 2007 Bouke Woudstra (rubyripperdev@gmail.com) [snip: Licencing and disclaimer, etc.] # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/> ICONDIR=[ENV['PWD'], "/usr/share/icons/hicolor/128x128/apps"] RUBYDIR=[ENV['PWD'], File.dirname(__FILE__), "/usr/local/lib/site_ruby/2.3.0"] found_rrlib = false RUBYDIR.each do |dir| if File.exist?(file = File.join(dir, '/rr_lib.rb')) require file; found_rrlib = true ; break end end if found_rrlib == false puts "The main program logic file 'rr_lib.rb' can't be found!" exit() end begin require 'gtk2' rescue LoadError puts "The ruby-gtk2 library could not be found. Is it installed?"; exit() end

Когда я запускаю это, я получаю возврат The ruby-gtk2 library could not be found. Is it installed?. Пакет ruby-gtk2 определенно установлен:

rowand@desktop:~$ sudo apt-get install ruby-gtk2 Reading package lists... Done Building dependency tree Reading state information... Done ruby-gtk2 is already the newest version (3.1.8-6ubuntu1). 0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.

По-моему, происходит то, что расположение соответствующего файла или файлов в 17.10 отличается от того, что ожидает сценарий, и отличается от того, где они были под 17.04. Поэтому я попытался отредактировать следующую строку скрипта, сохранил его и снова запустил.

RUBYDIR=[ENV['PWD'], File.dirname(__FILE__), "/usr/local/lib/site_ruby/2.3.0"]

На основании поисков /usr я пробовал следующее:

RUBYDIR=[ENV['PWD'], File.dirname(__FILE__), "/usr/lib/ruby/vendor_ruby/2.3.0"] RUBYDIR=[ENV['PWD'], File.dirname(__FILE__), "/usr/lib/ruby/vendor_ruby"] RUBYDIR=[ENV['PWD'], File.dirname(__FILE__), "/usr/lib/ruby/vendor_ruby/gtk2"] RUBYDIR=[ENV['PWD'], File.dirname(__FILE__), "/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.3.0"]

Ни один из них не работает. Я продолжаю получать ту же ошибку (The ruby-gtk2 library could not be found. Is it installed?).

Возврат sudo dpkg -L ruby-gtk2:

/. /usr /usr/lib /usr/lib/ruby /usr/lib/ruby/vendor_ruby /usr/lib/ruby/vendor_ruby/gtk2 /usr/lib/ruby/vendor_ruby/gtk2/base.rb /usr/lib/ruby/vendor_ruby/gtk2.rb /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/ruby /usr/lib/x86_64-linux-gnu/ruby/vendor_ruby /usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.3.0 /usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.3.0/gtk2.so /usr/share /usr/share/doc /usr/share/doc/ruby-gtk2 /usr/share/doc/ruby-gtk2/README.Debian /usr/share/doc/ruby-gtk2/copyright /usr/share/doc/ruby-gtk2/examples /usr/share/doc/ruby-gtk2/examples/gtk-demo /usr/share/doc/ruby-gtk2/examples/gtk-demo/README /usr/share/doc/ruby-gtk2/examples/gtk-demo/alphatest.png /usr/share/doc/ruby-gtk2/examples/gtk-demo/apple-red.png /usr/share/doc/ruby-gtk2/examples/gtk-demo/appwindow.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/background.jpg /usr/share/doc/ruby-gtk2/examples/gtk-demo/builder.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/button_box.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-arc-negative.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-arc.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-clip-image.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-clip-rectangle.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-clip.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-curve-rectangle.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-curve-to.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-dash.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-fill-and-stroke.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-fill-and-stroke2.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-gradient.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-image-pattern.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-image.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-line-cap.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-line-join.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-long-lines.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-operator.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-path.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-pattern-fill.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-self-intersect.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-text-align-center.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-text-extents.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/cairo-text.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/changedisplay.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/clipboard.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/colorsel.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/common.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/demo.ui.gz /usr/share/doc/ruby-gtk2/examples/gtk-demo/dialog.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/drawingarea.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/editable_cells.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/entry_completion.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/expander.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/floppybuddy.gif /usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-applets.png /usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-calendar.png /usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-foot.png /usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-fs-directory.png /usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-fs-regular.png /usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-gimp.png /usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-gmush.png /usr/share/doc/ruby-gtk2/examples/gtk-demo/gnome-gsame.png /usr/share/doc/ruby-gtk2/examples/gtk-demo/gnu-keys.png /usr/share/doc/ruby-gtk2/examples/gtk-demo/gtk-logo-rgb.gif /usr/share/doc/ruby-gtk2/examples/gtk-demo/hypertext.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/iconview.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/images.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/item_factory.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/list_store.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/main.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/menus.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/panes.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/pixbufs.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/printing.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/rotated_text.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/ruby-gnome2-logo.png /usr/share/doc/ruby-gtk2/examples/gtk-demo/sizegroup.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/stock_browser.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/textview.rb /usr/share/doc/ruby-gtk2/examples/gtk-demo/tree_store.rb /usr/share/doc/ruby-gtk2/examples/misc /usr/share/doc/ruby-gtk2/examples/misc/aboutdialog.rb /usr/share/doc/ruby-gtk2/examples/misc/aboutdialog2.rb /usr/share/doc/ruby-gtk2/examples/misc/alpha-demo.rb /usr/share/doc/ruby-gtk2/examples/misc/assistant.rb /usr/share/doc/ruby-gtk2/examples/misc/bindings.rb /usr/share/doc/ruby-gtk2/examples/misc/button.rb /usr/share/doc/ruby-gtk2/examples/misc/button2.rb /usr/share/doc/ruby-gtk2/examples/misc/buttonbox.rb /usr/share/doc/ruby-gtk2/examples/misc/cairo-pong.rb /usr/share/doc/ruby-gtk2/examples/misc/calendar.rb /usr/share/doc/ruby-gtk2/examples/misc/checkbutton.rb /usr/share/doc/ruby-gtk2/examples/misc/colorselection.rb /usr/share/doc/ruby-gtk2/examples/misc/combo_check.rb /usr/share/doc/ruby-gtk2/examples/misc/combobox.rb /usr/share/doc/ruby-gtk2/examples/misc/composited-windows.rb /usr/share/doc/ruby-gtk2/examples/misc/cursor.rb /usr/share/doc/ruby-gtk2/examples/misc/dialog.rb /usr/share/doc/ruby-gtk2/examples/misc/dialog2.rb /usr/share/doc/ruby-gtk2/examples/misc/dnd.rb /usr/share/doc/ruby-gtk2/examples/misc/dndtreeview.rb /usr/share/doc/ruby-gtk2/examples/misc/drag-move.rb /usr/share/doc/ruby-gtk2/examples/misc/drawing.rb /usr/share/doc/ruby-gtk2/examples/misc/entry.rb /usr/share/doc/ruby-gtk2/examples/misc/entrycompletion.rb /usr/share/doc/ruby-gtk2/examples/misc/expander.rb /usr/share/doc/ruby-gtk2/examples/misc/filechooser.rb /usr/share/doc/ruby-gtk2/examples/misc/fileselection.rb /usr/share/doc/ruby-gtk2/examples/misc/frame.rb /usr/share/doc/ruby-gtk2/examples/misc/gc.rb /usr/share/doc/ruby-gtk2/examples/misc/gdkscreen.rb /usr/share/doc/ruby-gtk2/examples/misc/gnome-logo-icon.png /usr/share/doc/ruby-gtk2/examples/misc/helloworld.rb /usr/share/doc/ruby-gtk2/examples/misc/iconview.rb /usr/share/doc/ruby-gtk2/examples/misc/image.rb /usr/share/doc/ruby-gtk2/examples/misc/infobar.rb /usr/share/doc/ruby-gtk2/examples/misc/itemfactory.rb /usr/share/doc/ruby-gtk2/examples/misc/itemfactory2.rb /usr/share/doc/ruby-gtk2/examples/misc/keyboard_grab.rb /usr/share/doc/ruby-gtk2/examples/misc/label.rb /usr/share/doc/ruby-gtk2/examples/misc/linkbutton.rb /usr/share/doc/ruby-gtk2/examples/misc/listview.rb /usr/share/doc/ruby-gtk2/examples/misc/menu.rb /usr/share/doc/ruby-gtk2/examples/misc/misc_button.rb /usr/share/doc/ruby-gtk2/examples/misc/mouse-gesture.rb /usr/share/doc/ruby-gtk2/examples/misc/pangorenderer.rb /usr/share/doc/ruby-gtk2/examples/misc/pointer_grab.rb /usr/share/doc/ruby-gtk2/examples/misc/print.rb /usr/share/doc/ruby-gtk2/examples/misc/properties.rb /usr/share/doc/ruby-gtk2/examples/misc/radiobutton.rb /usr/share/doc/ruby-gtk2/examples/misc/recentchooserdialog.rb /usr/share/doc/ruby-gtk2/examples/misc/rgtk+cairo.rb /usr/share/doc/ruby-gtk2/examples/misc/scalebutton.rb /usr/share/doc/ruby-gtk2/examples/misc/settings.rb /usr/share/doc/ruby-gtk2/examples/misc/statusicon.rb /usr/share/doc/ruby-gtk2/examples/misc/stock.rb /usr/share/doc/ruby-gtk2/examples/misc/style_property.rb /usr/share/doc/ruby-gtk2/examples/misc/style_property.rc /usr/share/doc/ruby-gtk2/examples/misc/t-gtkplug.rb /usr/share/doc/ruby-gtk2/examples/misc/t-gtksocket.rb /usr/share/doc/ruby-gtk2/examples/misc/test.xpm /usr/share/doc/ruby-gtk2/examples/misc/textbuffer_serialize.rb /usr/share/doc/ruby-gtk2/examples/misc/threads.rb /usr/share/doc/ruby-gtk2/examples/misc/to_drawable.rb /usr/share/doc/ruby-gtk2/examples/misc/togglebutton.rb /usr/share/doc/ruby-gtk2/examples/misc/toolbar.rb /usr/share/doc/ruby-gtk2/examples/misc/tooltips.rb /usr/share/doc/ruby-gtk2/examples/misc/tree_combo.rb /usr/share/doc/ruby-gtk2/examples/misc/tree_progress.rb /usr/share/doc/ruby-gtk2/examples/misc/treemodelfilter.rb /usr/share/doc/ruby-gtk2/examples/misc/treeview.rb /usr/share/doc/ruby-gtk2/examples/misc/uimanager.rb /usr/share/doc/ruby-gtk2/examples/misc/uimanager2.rb /usr/share/doc/ruby-gtk2/examples/misc/uimanager2.xml /usr/share/doc/ruby-gtk2/examples/misc/window.rb /usr/share/doc/ruby-gtk2/examples/misc/xbm_cursor.rb /usr/share/doc/ruby-gtk2/examples/testgtk /usr/share/doc/ruby-gtk2/examples/testgtk/3DRings.xpm /usr/share/doc/ruby-gtk2/examples/testgtk/FilesQueue.xpm /usr/share/doc/ruby-gtk2/examples/testgtk/Modeller.xpm /usr/share/doc/ruby-gtk2/examples/testgtk/README /usr/share/doc/ruby-gtk2/examples/testgtk/button.rb /usr/share/doc/ruby-gtk2/examples/testgtk/buttonbox.rb /usr/share/doc/ruby-gtk2/examples/testgtk/check-n.xpm /usr/share/doc/ruby-gtk2/examples/testgtk/check-y.xpm /usr/share/doc/ruby-gtk2/examples/testgtk/checkbutton.rb /usr/share/doc/ruby-gtk2/examples/testgtk/circles.xbm /usr/share/doc/ruby-gtk2/examples/testgtk/colorselect.rb /usr/share/doc/ruby-gtk2/examples/testgtk/dialog.rb /usr/share/doc/ruby-gtk2/examples/testgtk/entry.rb /usr/share/doc/ruby-gtk2/examples/testgtk/filesel.rb /usr/share/doc/ruby-gtk2/examples/testgtk/fontselection.rb /usr/share/doc/ruby-gtk2/examples/testgtk/gammacurve.rb /usr/share/doc/ruby-gtk2/examples/testgtk/labels.rb /usr/share/doc/ruby-gtk2/examples/testgtk/layout.rb /usr/share/doc/ruby-gtk2/examples/testgtk/marble.xpm.gz /usr/share/doc/ruby-gtk2/examples/testgtk/menu.rb /usr/share/doc/ruby-gtk2/examples/testgtk/notebook.rb /usr/share/doc/ruby-gtk2/examples/testgtk/pixmap.rb /usr/share/doc/ruby-gtk2/examples/testgtk/progressbar.rb /usr/share/doc/ruby-gtk2/examples/testgtk/radiobutton.rb /usr/share/doc/ruby-gtk2/examples/testgtk/range.rb /usr/share/doc/ruby-gtk2/examples/testgtk/reparent.rb /usr/share/doc/ruby-gtk2/examples/testgtk/rulers.rb /usr/share/doc/ruby-gtk2/examples/testgtk/sample.rb /usr/share/doc/ruby-gtk2/examples/testgtk/savedposition.rb /usr/share/doc/ruby-gtk2/examples/testgtk/scrolledwindow.rb /usr/share/doc/ruby-gtk2/examples/testgtk/shapedwindow.rb /usr/share/doc/ruby-gtk2/examples/testgtk/spinbutton.rb /usr/share/doc/ruby-gtk2/examples/testgtk/statusbar.rb /usr/share/doc/ruby-gtk2/examples/testgtk/test.xpm /usr/share/doc/ruby-gtk2/examples/testgtk/testgtk.rb /usr/share/doc/ruby-gtk2/examples/testgtk/testgtkrc /usr/share/doc/ruby-gtk2/examples/testgtk/testgtkrc2 /usr/share/doc/ruby-gtk2/examples/testgtk/togglebutton.rb /usr/share/doc/ruby-gtk2/examples/testgtk/toolbar.rb /usr/share/doc/ruby-gtk2/examples/testgtk/tooltips.rb /usr/share/doc/ruby-gtk2/examples/testgtk/wmhints.rb /usr/share/rubygems-integration /usr/share/rubygems-integration/2.3.0 /usr/share/rubygems-integration/2.3.0/specifications /usr/share/rubygems-integration/2.3.0/specifications/gtk2-3.1.8.gemspec /usr/share/doc/ruby-gtk2/changelog.Debian.gz

Мой вопрос: что мне следует заменить /usr/local/lib/site_ruby/2.3.0 на получить скрипт Rubyripper, чтобы правильно найти библиотеку ruby-gtk2, которую он ищет? Или я полностью ошибаюсь? Если да, то какие-либо предложения?

0
задан 9 December 2017 в 16:23

3 ответа

Здесь важны следующие строки:

begin
       require 'gtk2'
rescue LoadError
       puts "The ruby-gtk2 library could not be found. Is it installed?"; exit()
end

Это вызывает исключение и выбрасывает всю информацию, необходимую для отладки проблемы. Если вы замените это просто:

require 'gtk2'

Вы получите это сообщение об ошибке:

/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- cairo-gobject (LoadError)

Что дает понять, как исправить проблему:

sudo apt install ruby-cairo-gobject

Надеюсь, что это трюк для вас!

Rob

1
ответ дан 22 May 2018 в 15:32

Здесь важны следующие строки:

begin require 'gtk2' rescue LoadError puts "The ruby-gtk2 library could not be found. Is it installed?"; exit() end

Это вызывает исключение и выбрасывает всю информацию, необходимую для отладки проблемы. Если вы замените это просто:

require 'gtk2'

Вы получите это сообщение об ошибке:

/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- cairo-gobject (LoadError)

Что дает понять, как исправить проблему:

sudo apt install ruby-cairo-gobject

Надеюсь, что это трюк для вас!

Rob

1
ответ дан 18 July 2018 в 01:32

Здесь важны следующие строки:

begin require 'gtk2' rescue LoadError puts "The ruby-gtk2 library could not be found. Is it installed?"; exit() end

Это вызывает исключение и выбрасывает всю информацию, необходимую для отладки проблемы. Если вы замените это просто:

require 'gtk2'

Вы получите это сообщение об ошибке:

/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- cairo-gobject (LoadError)

Что дает понять, как исправить проблему:

sudo apt install ruby-cairo-gobject

Надеюсь, что это трюк для вас!

Rob

1
ответ дан 24 July 2018 в 17:24

Другие вопросы по тегам:

Похожие вопросы: