【问题标题】:git gui cannot start because of bad version number由于版本号错误,git gui 无法启动
【发布时间】:2014-08-10 12:54:23
【问题描述】:

我正在运行一个古老的 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.0tclsh 8.4

【问题讨论】:

  • package vsatisfies 语法在 8.5 中得到了扩展,因此您会遇到不兼容的语法。是的,难怪它很少见,Tcl 8.4。很长一段时间以来已经停止支持。

标签: linux git tcl git-gui


【解决方案1】:

在 Tcl 8.5 中对包版本号满足逻辑进行了更改,使其能够支持更复杂的版本表达式。 git-gui 似乎正在使用这种扩展语法(发生这种情况时是不必要的),因此,每次更新它,您都将与它进行这场斗争,直到您将系统升级到有 Tcl 8.5。

无论如何,这是推荐的; Tcl 8.4 不再支持,未来将没有个版本,对包版本逻辑的更改不会被反向移植。


git-gui 代码中存在错误;它本身应该在某个地方(可能在其主脚本的顶部)说:

package require Tcl 8.5

因为它使用了 Tcl 8.5 的功能。这不会为你解决问题,但会告诉你需要做的正确事情。

【讨论】:

  • 我仍在使用 Ubuntu 10.04,看起来 Tcl 8.4 是我古老操作系统的正确版本。我已经习惯了还原/usr/lib/git-core/git-gui。要是新的 Linux 有什么更好的东西能激励我去经历升级的麻烦就好了。
猜你喜欢
  • 1970-01-01
  • 2018-10-04
  • 1970-01-01
  • 2015-07-09
  • 2019-05-20
  • 1970-01-01
  • 2018-01-08
  • 1970-01-01
  • 2021-05-20
相关资源
最近更新 更多