Ruby требует, чтобы 'tk' выдает LoadError: нет такого файла для загрузки - tk
Я не могу получить рубинтребовать "тк" успешно. Я использую rvm, ruby 2.0.0, ActiveTcl-8.6 и Ubuntu 12.04 LTS. Я бегалжелание предоставлен ActiveTcl и, кажется, работает.
Я посмотрел на сайте RVMhttp://rvm.io/integration/tk и несколько вопросов StackOverflow, как этотRVM Ruby с установкой TK (OSX).
я пыталсяrvm переустановите 2.0.0 --enable-shared --enable-pthread --with-tk --with-tcl несколько раз на разных версиях ruby безуспешно.
есть идеи?
Когда я запускаю IRB и делаюrequire'tk» Я получаю следующее:
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>'
Когда это работает, я думаю, вы должны получитьправда вернулся.
Больше я ничего не пробовал, потому что не могу понять, что еще делать. Я изучал, как требуют работы и проверяя путь загрузки сruby -e '$:' я получил
[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
Я думаю, это похоже на то, что вы ожидаете. Извините за форматирование, я новичок в редакторе.
Следуя идее, что это проблема с путями, я обнаружил tk.rb в своих файлах и попробовал следующее в 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>'
Так что теперь этотребует 'tcltklib' в файле tk.rb, который вызывает проблему. Это, кажется, подтверждает, что есть некоторая проблема с $ PATH или $ load_path. Но поиск файла tcltklib.rb ничего не дает. Есть файл tcltklib.c.
Я попробовал еще несколько вещей. После более тщательного чтения результатов установки ruby через rvm появилось предупреждение о том, что библиотека X11 не установлена и что Tk не будет активен после сборки ruby. я сделалsudo apt-get установить libx11-dev а потомrvm переустановите 2.0.0 --enable-shared --enable-pthread --with-tk --with-tcl очередной раз. На этот раз в IRBтребовать "тк" вызвал дамп ядра. Я попробовал это в другой раз, и это работало. Затем я запустил короткий скрипт ruby, который также используеттребовать "тк", Это также ядро сброшено, но сработало после нескольких попыток. Теперь он ударил или пропустил для обоих, иногда работает, иногда это дампы ядра.