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

时间:2016-01-06 16:27:12

标签: gitk

我已经通过brew install git在mac上安装了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

10 个答案:

答案 0 :(得分:197)

您可以通过运行TheCoo.toArray(function (err, documents) { printjson(documents); }); 并使用命令wish来检查您的Tcl / Tk版本。似乎git 2.7.0,Tcl / Tk 8.5.9和OS X 10.11 El Capitan不能很好地协同工作。

我通过执行安装了8.6.4的info patchlevel解决了这个问题,而brew cask install tcl现在正在使用。

答案 1 :(得分:48)

我也发现完全相同版本的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的答案以获得永久性修复。

答案 2 :(得分:9)

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

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

包含两个不同的引号,它们将是def。如果复制&抛出错误粘贴。

所以为了完成它,我必须这样做:

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

在vim里面:

{{1}}

答案 3 :(得分:4)

如果您不想使用Caskroom,请按照以下步骤操作:

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

答案 4 :(得分:4)

我在ubuntu系统中面临同样的问题。然后我在步骤下面解决问题。

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

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

  3. 将所有文件中的'lime'替换为'green'

  4. 保存文件更改

  5. 再次尝试gitk然后它可以正常工作

答案 5 :(得分:2)

有用的补充说明在文件/ usr / bin / gitk或/ usr / local / git / bin / gitk中用“green”替换所有出现的“lime”一词:

在上述“gitk”文件中替换“lime”的出现有时是不够的。

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

答案 6 :(得分: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路径。

答案 7 :(得分:0)

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

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

关闭vi后

: chmod -w / usr / local / bin / gitk

答案 8 :(得分:0)

确保在尝试Keith B的解决方案时正确​​设置了路径。运行brew doctor显示,我/ usr / bin / 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

答案 9 :(得分:0)

感谢Konrad,它适用于我的下一步

  1. sudo brew update
  2. sudo brew cask install tcl
  3. -