Tcl 无效的命令名";::tk::dialog::file::";

Tcl 无效的命令名";::tk::dialog::file::";,tcl,tk,archlinux,Tcl,Tk,Archlinux,我试图在Tcl/Tk中打开一个简单的文件打开对话框,但每当我运行Tk\u getOpenFile时,我都会出现以下错误: invalid command name "::tk::dialog::file::" while executing "::tk::dialog::file:: open {*}$args" (procedure "tk_getOpenFile" line 5) invoked from within "tk_getOpenFile" (pr

我试图在Tcl/Tk中打开一个简单的文件打开对话框,但每当我运行
Tk\u getOpenFile
时,我都会出现以下错误:

invalid command name "::tk::dialog::file::"
    while executing
"::tk::dialog::file:: open {*}$args"
    (procedure "tk_getOpenFile" line 5)
    invoked from within
"tk_getOpenFile"
    (procedure "open" line 2)
    invoked from within
...

我正在运行来自ArchLinux存储库的最新版本的Tcl/Tk,8.6.9。是什么原因造成的?

不知何故,它看起来像是一个坏了的安装。
../tk.tcl
中的过程
tk_getOpenFile
(其中
..
是安装tk库文件的地方)委托给
中的过程
::tk::dialog::file::
../tkbox.tcl
(是的,一个不寻常的过程名称),但这在您的情况下似乎不起作用。文件丢失,或者同一目录中的
tcindex
文件已损坏。(这是在使用一种旧的自动加载代码的机制,而这种机制对于新代码在……嗯,在这个千年中使用是没有意义的。它是为了向后兼容而保留的。)