tk 安装不适用于 ruby​​1.9.1

tk 安装不适用于 ruby​​1.9.1

好的,这是我在进入终端并看到一堆错误消息之前所做的事情......


首先,我使用 apt-get 安装了 ruby​​1.9.1。(所有 ruby​​1.9.1 软件包,包括 ruby​​1.9.1-examples 和 ruby​​1.9.1-full)。

然后,我以类似方式安装了 tcl8.5 和 tk8.5 以及它们的开发包。

然后,我安装了 libtcltk-ruby1.9.1

正如预期的那样,ruby --version 说我已经得到了

ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]

但是在 irb 中,当我需要'tk'时,它说:

RuntimeError: tcltklib: fail to Tk_Init(). Can't find a usable tk.tcl in the following directories: 
/usr/share/tcltk/tcl8.5/tk8.5 /usr/lib/tk8.5 /usr/local/lib/tcltk/tk8.5 /usr/local/share/tcltk/tk8.5 /usr/lib/tcltk/tk8.5 /usr/share/tcltk/tk8.5 /lib/tk8.5 /usr/library

/usr/share/tcltk/tk8.5/tk.tcl: version conflict for package "Tk": have 8.5.10, need     exactly 8.5.11
version conflict for package "Tk": have 8.5.10, need exactly 8.5.11
while executing
"package require -exact Tk  8.5.11"
(file "/usr/share/tcltk/tk8.5/tk.tcl" line 18)
invoked from within
"source /usr/share/tcltk/tk8.5/tk.tcl"
("uplevel" body line 1)
invoked from within
"uplevel #0 [list source $file]"


This probably means that tk wasn't installed properly.

from /usr/lib/ruby/1.9.1/tk.rb:31:in `initialize'
from /usr/lib/ruby/1.9.1/tk.rb:31:in `initialize'
from /usr/lib/ruby/1.9.1/tk.rb:1245:in `new'
from /usr/lib/ruby/1.9.1/tk.rb:1245:in `block in <module:TkCore>'

当我使用 ruby​​1.8 和相同版本的 tcl 和 tk 时,类似的过程有效,但这似乎不起作用。我认为这与这些包及其依赖项有关。

所以,最后我的问题是:如果我想在 ruby​​1.9 中编写 Tk GUI,如何安装 tk 和 ruby​​?

答案1

以 root 身份在测试编辑器中打开此文件“/usr/share/tcltk/tk8.5/tk.tcl“转到第 18 行,更改此项:软件包需要 -exact Tk 8.5.11 至此:软件包需要 -exact Tk 8.5.10

相关内容