Tcl 读取包索引文件时出错

Tcl 读取包索引文件时出错,tcl,Tcl,我在尝试运行自动化测试时遇到以下错误 error reading package index file /usr/share/tcl8.4/stc2.0 /pkgIndex.tcl: bad option "join/users/ask/Spirent_TestCenter_4.57 /Spirent_TestCenter_Application_Linux": must be atime, attributes, channels, copy, delete, dirname

我在尝试运行自动化测试时遇到以下错误

 error reading package index file /usr/share/tcl8.4/stc2.0 
/pkgIndex.tcl:      
bad option "join/users/ask/Spirent_TestCenter_4.57
/Spirent_TestCenter_Application_Linux": 
must be atime, attributes, channels, copy, delete, dirname, executable,   
exists, extension, isdirectory, isfile, join, link, lstat, mtime, mkdir,  
nativename, normalize, owned, pathtype, readable, readlink, rename,   
rootname, separator, size, split, stat, system, tail, type, volumes, or 
writable

我不得不将Spirent TestCenter应用程序从4.61降级到4.57,并相应地更改了包索引文件。当它是4.61时,这个错误不存在

我猜文件
/users/ask/Spirent\u TestCenter\u 4.57/Spirent\u TestCenter\u Application\u Linux/pkgIndex.tcl中的关键位置缺少一个空格。猜测该文件中的内容有点困难,但可能是这样的:

package ifneeded stc 4.57 [list source [file join$dir something...]]
问题是
join
$dir
之间缺少空格。
$dir
可能已被文字路径替换,并且它可能位于
列表加载
或任何数量的其他选项中,但错误是缺少的空间。缺少的空格导致路径被添加到子命令名(
join
)中,
file
命令以这种特有的方式正确地抱怨了这一点

pkgIndex.tcl
文件可能很短。现在你知道你在寻找什么了,你应该不用花很长时间就能找到问题所在



其深层原因尚不清楚。这可能是安装过程中路径替换的问题,或者是代表Spirent进行的草率测试的问题(尽管我不希望这样;即使是最草率的测试也会发现这个问题),或者其他任何东西。

我猜文件
/users/ask/Spirent\u TestCenter\u 4.57/Spirent\u TestCenter\u Application\u Linux/pkgIndex.tcl中的关键位置缺少一个空格。猜测该文件中的内容有点困难,但可能是这样的:

package ifneeded stc 4.57 [list source [file join$dir something...]]
问题是
join
$dir
之间缺少空格。
$dir
可能已被文字路径替换,并且它可能位于
列表加载
或任何数量的其他选项中,但错误是缺少的空间。缺少的空格导致路径被添加到子命令名(
join
)中,
file
命令以这种特有的方式正确地抱怨了这一点

pkgIndex.tcl
文件可能很短。现在你知道你在寻找什么了,你应该不用花很长时间就能找到问题所在



其深层原因尚不清楚。这可能是安装过程中的路径替换问题,或者是代表Spirent进行的草率测试问题(尽管我不这么认为;即使是最粗略的测试也会发现这个问题),或者是其他一些问题。

看起来像是包特定的问题。你可能想在Spirent networks上问这个问题。看起来像是一个特定于软件包的问题。你可能想在Spirent网络上问这个问题。