Ruby wymaga 'tk' daje LoadError: brak takiego pliku do załadowania - tk

Nie jestem w stanie zdobyć rubinuwymagać „tk” z powodzeniem. Używam rvm, ruby ​​2.0.0, ActiveTcl-8.6 i Ubuntu 12.04 LTS. Uciekłemżyczenie dostarczane z ActiveTcl i wydaje się działać.

Sprawdziłem witrynę RVMhttp://rvm.io/integration/tk i kilka pytań StackOverflow takich jak tenRVM Ruby z instalacją TK (OSX).

próbowałemrvm zainstaluj 2.0.0 --enable-shared --enable-pthread --with-tk --with-tcl kilka razy w różnych wersjach ruby ​​bez powodzenia.

jakieś pomysły?

Kiedy biegnę irb i robięwymagać'tk Otrzymuję następujące informacje:

LoadError: cannot load such file -- tk
from /home/brooks/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/brooks/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from (irb):2
from /home/brooks/.rvm/rubies/ruby-2.0.0-p353/bin/irb:12:in `<main>'

Kiedy to działa, myślę, że powinieneśprawdziwe zwrócony.

Nie próbowałem niczego innego, głównie dlatego, że nie wiem, co jeszcze zrobić. Sprawdzałem, jak wymagają działania i sprawdzam ścieżkę obciążenia za pomocąruby -e '$:' dostaję

[brooks@ubuntu:~/sites/depot]$ruby -e 'puts $:'
/home/brooks/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0
/home/brooks/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/x86_64-linux
/home/brooks/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby
/home/brooks/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/vendor_ruby/2.0.0
/home/brooks/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/vendor_ruby/2.0.0/x86_64-linux
/home/brooks/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/vendor_ruby
/home/brooks/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0
/home/brooks/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/x86_64-linux

Myślę, że to wygląda tak, jak można się spodziewać. Przepraszamy za formatowanie, jestem nowym użytkownikiem edytora.

Podążając za pomysłem, że jest to problem ze ścieżką, znalazłem tk.rb w moich plikach i spróbowałem w irb:

2.0.0-p353 :003 > require '/home/brooks/.rvm/src/ruby-2.0.0-p353/ext/tk/lib/tk'   
LoadError: cannot load such file -- tcltklib
from /home/brooks/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/brooks/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/brooks/.rvm/src/ruby-2.0.0-p353/ext/tk/lib/tk.rb:6:in `<top (required)>'
from /home/brooks/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/brooks/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from (irb):3
from /home/brooks/.rvm/rubies/ruby-2.0.0-p353/bin/irb:12:in `<main>'

Więc teraz jestwymagać 'tcltklib' w pliku tk.rb, który powoduje problem. To wydaje się potwierdzać, że istnieje problem z $ PATH lub $ load_path. Ale wyszukiwanie pliku tcltklib.rb nic nie pokazuje. Istnieje plik tcltklib.c.

Spróbowałem jeszcze kilku rzeczy. Po dokładniejszym przeczytaniu wyników instalacji ruby ​​za pośrednictwem rvm, pojawiło się ostrzeżenie o tym, że lib X11 nie jest instalowany i że Tk nie byłby aktywny po kompilacji ruby. Zrobiłemsudo apt-get zainstaluj libx11-dev i wtedyrvm zainstaluj 2.0.0 --enable-shared --enable-pthread --with-tk --with-tcl jeszcze raz. Tym razem w irbwymagać „tk” spowodował zrzut pamięci. Spróbowałem tego innym razem i zadziałało. Następnie uruchomiłem krótki skrypt ruby, który również używawymagać „tk”. Zwalnia również ją, ale działała po kilku próbach. Teraz jest hitem lub brakiem dla obu, czasem działa, czasem zrzuty pamięci.

questionAnswers(3)

yourAnswerToTheQuestion