gitk无法在Mac上启动:未知的颜色名称“ lime”


127

我已经通过Mac在Mac上安装了git brew install git。当我尝试启动gitk时,出现以下错误:

Error in startup script: unknown color name "lime"
    (processing "-fore" option)
    invoked from within
"$ctext tag conf m2 -fore [lindex $mergecolors 2]"
    (procedure "makewindow" line 347)
    invoked from within
"makewindow"
    (file "/usr/local/bin/gitk" line 12434)

我的Mac似乎没有名为的颜色lime

我可以向环境中添加石灰颜色,还是有更好的解决方法?

git版本是2.7.0,并且Mac运行的是Yosemite 10.10.5

Answers:


197

您可以通过运行wish并使用命令来检查Tcl / Tk的版本info patchlevel。看来git 2.7.0,Tcl / Tk 8.5.9和OS X 10.11 El Capitan不能很好地协同工作。

我通过执行来解决了这个问题brew cask install tcl,该工具已经安装了8.6.4,并且gitk可以正常工作。


3
在这里使用MacPorts有点奇怪。已安装Tcl版本8.6.4,但希望报告8.5.9。
edA-qa mort-ora-y '02

4
一旦安装了新的Tcl / Tk,brew install --build-from-source gitgit gui必须开始gitk使用更新的Tcl。
lo5an

1
此后,我发现了一个警告:如果您安装了tcl 8.6.4,则rbenv在安装新的Ruby版本时会遇到麻烦。
凯特·贝特尔森

3
我通过下载ActiveTcl安装程序包安装了不带brew的Tcl 8.6 。Gitk现在工作正常。
PasiVälkkynen'16

1
如果我尝试brew cask install tcl在愿望命令行中运行,
则会

49

我还发现完全相同版本的git和OSX都存在相同的问题。作为临时的解决方法,我建议您执行以下操作:

cp /usr/local/bin/gitk /usr/local/bin/gitk.bkp
vi /usr/local/bin/gitk

并将所有出现的石灰替换为您想要的任何颜色(我使用#99FF00)。这是vim命令:

:%s/lime/"#99FF00"/g

编辑:请按照Keith B的答案进行永久修复。


我必须将十六进制代码更改为“绿色”才能正常工作,否则它在3400行上失败。

使用MacPorts,此文件位于/opt/local/bin/gitk
edA-qa mort-ora-y

将git / gitk更新到版本2.7.0后,我在ubuntu 12.04上遇到了相同的问题。我有tcl 8.5.0。而且标准的ubuntu 12存储库中没有可用的更新,因此此变通办法是我所解决的问题。
AlejandroVD

@Konrad:谢谢!对于OSX上的其他任何人,请更换1liner:sed -i.lime_color_replace_backup 's/lime/"#99FF00"/g' /usr/local/bin/gitk
bgs

您可能需要chmod u+w /usr/local/bin/gitk提前
Renaud

9

@Konrad感谢您的帮助!尽管答案正确,但是请注意您的命令

:%s/lime/"#99FF00”/g

包含两个不同的引号,它们将被定义。复制和粘贴时引发错误。

因此,为了完成它,我必须这样做:

cp /usr/local/bin/gitk /usr/local/bin/gitk.bkp
vi /usr/local/bin/gitk

在vim内部:

:%s/lime/"#99FF00"/g

2
我也发现了这一点。我的业力足够我可以编辑Konrad的答案。
乔治五世·赖利

我同意。这应该是Konrad答案的编辑。
ReggieB

4

如果您不想使用Caskroom,请遵循以下步骤:

$ brew install tcl-tk
$ brew link tcl-tk --force

很好,谢谢。我不得不使用link tcl-tk --force --overwrite
Lenar Hoyt

4

我在ubuntu系统中遇到了同样的问题。然后我按照下面的步骤解决问题。

  1. 在任何文本编辑器中打开/ usr / bin / gitk文件

  2. 在文件中搜索“ lime”关键字

  3. 用所有文件替换“石灰”为“绿色”

  4. 保存文件更改

  5. 再试一次gitk然后就可以了


2

我正在使用Yosemetti运行MAC,并按照以下步骤解决。

open /usr/local/git/bin/gitk file in any text editor

search 'lime' keyword in file

replace 'lime' to 'green' with all in file

save file changes

try again gitk then it works

感谢@kaushal sharma,跟随您的回答,对gitk路径进行了更改。


2

有用的答案,建议在文件/ usr / bin / gitk或/ usr / local / git / bin / gitk中用“绿色”替换所有出现的“石灰”:

替换上面“ gitk”文件中“石灰”的出现有时是不够的。

您还需要对文件执行相同的替换过程~/.config/git/gitk,或删除该文件。


0

请按照上述说明进行操作,但另外请执行以下操作:

运行vi之前:chmod + w / usr / local / bin / gitk

关闭vi后:chmod -w / usr / local / bin / gitk


请注意,“上”没有答案的上下文,因为可以用多种方式对它们进行排序。最好直接链接到您要参考的答案。
ale

0

确保尝试Keith B的解决方案时您的路径设置正确。运行brew doctor表明,我在/ usr / local / bin之前有/ usr / bin。

~ $ brew doctor
...
Consider setting your PATH so that /usr/local/bin
occurs before /usr/bin. Here is a one-liner:
  echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile

0

谢谢Konrad,下面的步骤对我有用

  1. sudo brew更新
  2. 须藤酿造桶安装TCL

--


Kieth B建议这样做。
ReggieB
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.