2019年5月14日火曜日

ruby+gtk3 → require load error

rubyか、久しぶりだな.わたしはPerlが馴染みなのでね.
LinuxでGUIを動かしたくてgtkを動かそうと、まずはこういうサイトを読んでるところ.
https://qiita.com/kojix2/items/d9da8e08757dcc6b1a7d

だがトラブル発生.
この簡単なrubyコードを動かそうとするが、pathが通らない系のトラブルでerrorになる.
require 'gtk3'
window = Gtk::Window.new
window.show
Gtk.main

たとえばこんなerrorである.
% ruby simple.rb        ←上のcodeがsimple.rbとする
require': cannot load such file -- gtk3 (LoadError)
いきなり1行目のrequireでload errorになっている.

ちなみにいまわたしが使っているOSはLinuxだ.
Linux rtl 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux

当errorの回避にはいくつかのポイントがあったので読者諸氏がお困りの際には以下のプロセスを試してみてちょ.

gtk3が入ってないのかなぁと思ってinstallを試みるが、わたしの環境では既存だったのでこれは空振りだった.
% apt-get install gtk3

net情報ではちゃんとpathを切るためにはgemでinstallしろと書かれてたりするのでやってみるが、このgemが全然動かない.リビルドができませんとかいうerrorがでてすぐに止まる.ちなみにgemはruby libraryをinstallするのに使うコマンドだそうだ.
% gem install gtk3

net情報ではこれが必要だとか、、、
% apt-get install libgtk-3-dev

再度gemしてみる.さっきよりもリビルドが先まで進むがそれでも同じ症状で止まってしまう.
% gem install gtk3

さらにこいつもinstall、、、だがまだgemだめ~
% apt-get install ruby-dev

rakeが見つからないとかまだ怒っているので、、、rakeを入れてみる.
% gem install rake

こんどはどうだ?とgemをやってみると、、、やっと通った.
% gem install gtk3

ようやくこれも動くようになったよ.これで先へ進める.
% ruby simple.rb

症状をまとめると、3つのトラブルだったようだ.
1)rubyがgtk3のpathを知らない
2)path設定も含め、gemでgtk3をinstallすべきなのだがgemがerrorで止まる
3)gemを動かすに必要なものが不足していた

かしこ

2 件のコメント:

  1. PHPって、どうなんでしょうか?

    返信削除
    返信
    1. PHPは一度も触った事ないんですね.
      PHP研究所というのもありんす.

      削除