我正在运行一个古老的 Ubuntu,在自动更新后,git-gui
停止工作并提示:
Error in startup script: expected version number but got "1.7.0-"
while executing
"package vsatisfies $_git_version 1.7.0-"
(file "/usr/local/libexec/git-core/git-gui" line 1)
我的“修复”是恢复 /usr/lib/git-core/git-gui
如下
1286c1286
< if {[package vsatisfies $_git_version 1.7.0]} {
---
> if {[package vsatisfies $_git_version 1.7.0-]} {
1542c1542
< if {[package vsatisfies $::_git_version 1.6.3]} {
---
> if {[package vsatisfies $::_git_version 1.6.3-]} {
可悲的是,在下一次更新后,它又发生了。这个问题似乎很少见,今年我发现的唯一相关链接是这个关于 SO 的已删除问题。我正在使用 git 2.0.0
、tclsh 8.4
。
最佳答案
Tcl 8.5 中的包版本号满足逻辑发生了变化,允许它支持更复杂的版本表达式。看起来 git-gui
正在使用这种扩展语法(它确实是不必要的),因此,每次更新它 直到您将系统升级到 Tcl 8.5。
无论如何,这是推荐的; Tcl 8.4 不再受支持,没有它的 future 版本,并且不会向后移植对包版本逻辑的更改。
git-gui
代码中存在错误;它本身应该在某处(可能在其主脚本的顶部)准确地说:
package require Tcl 8.5
因为它使用了 Tcl 8.5 的功能。这不会为您解决问题,但会告诉您需要采取的正确措施。
关于linux - 由于版本号错误,git gui 无法启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24315854/