gitk startet nicht auf dem Mac: unbekannter Farbname "lime"


127

Ich habe git über auf einem Mac installiert brew install git. Wenn ich versuche, gitk zu starten, wird folgende Fehlermeldung angezeigt:

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)

Es scheint, dass mein Mac keine Farbe mit dem Namen hat lime.

Kann ich der Umgebung eine Limettenfarbe hinzufügen oder gibt es eine bessere Lösung?

Die Git-Version ist 2.7.0 und auf dem Mac wird Yosemite 10.10.5 ausgeführt

Antworten:


197

Sie können Ihre Version von Tcl / Tk überprüfen, wishindem Sie den Befehl ausführen und verwenden info patchlevel. Es scheint, dass Git 2.7.0, Tcl / Tk 8.5.9 und OS X 10.11 El Capitan nicht gut zusammenarbeiten.

Ich habe dieses Problem gelöst, indem ich brew cask install tcl8.6.4 installiert habe und gitkjetzt funktioniert.


3
MacPorts verwenden hier etwas Seltsames. Tcl Version 8.6.4 ist installiert, aber der Wunsch meldet 8.5.9.
edA-qa mort-ora-y

4
Sobald ich eine neue Tcl / Tk installiert ist , musste ich tun , brew install --build-from-source gitum zu bekommen , git guizu beginnen gitkmit dem aktualisierten Tcl.
Lo5an

1
Eine Einschränkung, die ich seitdem entdeckt habe: Wenn Sie tcl 8.6.4 installiert haben, rbenvhaben Sie Probleme, neue Ruby-Versionen zu installieren.
Kate Bertelsen

3
Ich habe Tcl 8.6 ohne Brew installiert , indem ich das ActiveTcl-Installationspaket heruntergeladen habe . Gitk funktioniert jetzt gut.
Pasi Välkkynen

1
Wenn ich versuche, brew cask install tclinnerhalb der gewünschten Befehlszeile zu laufen, erhalte ich die folgende Fehlermeldung: Ungültiger Befehlsname "
Brew

49

Ich habe auch das gleiche Problem mit genau der gleichen Version von Git und OSX gefunden. Als vorübergehende Problemumgehung empfehle ich Ihnen Folgendes:

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

und ersetzen Sie alle Vorkommen von Kalk durch eine beliebige Farbe (ich habe # 99FF00 verwendet). Hier ist der Befehl vim:

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

EDIT: Bitte folgen Sie der Antwort von Keith B für eine dauerhafte Korrektur.


Ich musste den Hex-Code in "grün" ändern, damit er funktioniert. Andernfalls ist er in Zeile 3400 fehlgeschlagen.

Mit MacPorts befand sich diese Datei in/opt/local/bin/gitk
edA-qa mort-ora-y

Ich hatte das gleiche Problem auf Ubuntu 12.04 nach dem Update von git / gitk auf Version 2.7.0. Ich habe tcl 8.5.0. Da in den Standard-Ubuntu 12-Repos kein Update verfügbar ist, war diese Problemumgehung in meinem Kontext die Lösung.
AlejandroVD

@Konrad: Danke! Für alle anderen unter OSX, 1liner ersetzen:sed -i.lime_color_replace_backup 's/lime/"#99FF00"/g' /usr/local/bin/gitk
bgs

Möglicherweise müssen Sie chmod u+w /usr/local/bin/gitkvorher
Renaud

9

@Konrad Danke für die Hilfe !! Obwohl die Antwort richtig ist, beachten Sie bitte, dass Ihr Befehl

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

enthält zwei verschiedene Anführungszeichen, die def. Beim Kopieren und Einfügen wird ein Fehler ausgegeben.

Um damit fertig zu werden, musste ich Folgendes tun:

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

Und in vim:

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

2
Das habe ich auch entdeckt. Ich habe genug Karma, um Konrads Antwort bearbeiten zu können.
George V. Reilly

Genau. Dies hätte eine Bearbeitung von Konrads Antwort sein sollen.
ReggieB

4

Wenn Sie nicht verwenden möchten Caskroom, gehen Sie wie folgt vor:

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

Das hat super geklappt, danke. Ich musste es allerdings benutzen link tcl-tk --force --overwrite.
Lenar Hoyt

4

Ich hatte das gleiche Problem im Ubuntu-System. Dann gehe ich unter Schritt, um das Problem zu beheben.

  1. Öffnen Sie die Datei / usr / bin / gitk in einem beliebigen Texteditor

  2. Suchen Sie nach dem Schlüsselwort 'lime' in der Datei

  3. Ersetzen Sie "Kalk" durch "Grün" durch alle in der Datei

  4. Dateiänderungen speichern

  5. versuche es nochmal gitk dann funktioniert es


2

Ich verwende MAC mit Yosemetti und habe die folgenden Schritte ausgeführt, um das Problem zu beheben.

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

Danke @kaushal Sharma, folgte deiner Antwort mit einer Änderung im Gitk-Pfad.


2

Nützliche Ergänzung zu den guten Antworten, die vorschlagen, alle Vorkommen des Wortes "Kalk" durch das Wort "Grün" in der Datei / usr / bin / gitk oder / usr / local / git / bin / gitk zu ersetzen:

Das Ersetzen von "Kalk" in der obigen "Gitk" -Datei reicht manchmal nicht aus.

Sie müssen den gleichen Ersetzungsprozess auch für die Datei durchführen ~/.config/git/gitkoder diese Datei entfernen.


0

Befolgen Sie die obigen Anweisungen, aber führen Sie zusätzlich Folgendes aus:

vor dem Ausführen von vi: chmod + w / usr / local / bin / gitk

nach dem Schließen von vi: chmod -w / usr / local / bin / gitk


Bitte beachten Sie, dass "oben" keinen Kontext in den Antworten hat, da diese auf verschiedene Arten sortiert werden können. Es ist besser, direkt auf die Antwort zu verlinken, auf die Sie sich beziehen.
Ale

0

Stellen Sie sicher, dass Ihr Pfad richtig eingestellt ist, wenn Sie die Lösung von Keith B ausprobieren. Das Laufen brew doctorzeigte, dass ich / usr / bin vor / usr / local / bin hatte.

~ $ 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

Danke Konrad, es funktioniert für mich mit dem folgenden Schritt

  1. Sudo Brew Update
  2. Sudo Brew Cask installieren tcl

- -


Es war Kieth B, der dies vorschlug.
ReggieB
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.