gitk ne démarre pas sur Mac: nom de couleur inconnu «lime»


127

J'ai installé git sur un mac via brew install git. Lorsque j'essaye de démarrer gitk, j'obtiens l'erreur suivante:

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)

Il semble que mon Mac n'a pas de couleur nommée lime.

Puis-je ajouter une couleur citron vert à l'environnement ou existe-t-il une meilleure solution?

La version git est 2.7.0 et le Mac exécute Yosemite 10.10.5

Réponses:


197

Vous pouvez vérifier votre version de Tcl / Tk en exécutant wishet en utilisant la commande info patchlevel. Il semble que git 2.7.0, Tcl / Tk 8.5.9 et OS X 10.11 El Capitan ne fonctionnent pas bien ensemble.

J'ai résolu ce problème en faisant brew cask install tcl, qui a installé 8.6.4, et gitkfonctionne maintenant.


3
Il y a quelque chose d'étrange à utiliser MacPorts ici. La version 8.6.4 de Tcl est installée, mais Wish rapporte 8.5.9.
— edA-qa mort-ora-y

4
Une fois que j'ai installé une nouvelle Tcl / Tk, je devais faire brew install --build-from-source gitafin d'obtenir git guicommencer gitkla mise à jour Tcl.
— lo5an

1
Une mise en garde que j'ai découverte depuis: si vous avez installé tcl 8.6.4, vous avez du rbenvmal à installer de nouvelles versions de Ruby.
— Kate Bertelsen

3
J'ai installé Tcl 8.6 sans brew, en téléchargeant le package d'installation ActiveTcl . Gitk fonctionne très bien maintenant.
— Pasi Välkkynen

1
Si j'essaie d'exécuter brew cask install tcldans la ligne de commande de souhait, j'obtiens l'erreur suivante: nom de commande non valide "brew"
— mrbela

49

J'ai également trouvé le même problème avec exactement la même version de git et OSX. Comme solution de contournement temporaire, je vous suggère de faire ce qui suit:

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

et remplacez toutes les occurrences de chaux par la couleur de votre choix (j'ai utilisé # 99FF00). Voici la commande vim:

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

EDIT: Veuillez suivre la réponse de Keith B pour une correction permanente.


J'ai dû changer le code hexadécimal en "vert" pour le faire fonctionner, il a échoué sur la ligne 3400 sinon.

En utilisant MacPorts, ce fichier a été localisé dans/opt/local/bin/gitk
— edA-qa mort-ora-y

J'ai eu le même problème sur ubuntu 12.04 après la mise à jour de git / gitk vers la version 2.7.0. J'ai tcl 8.5.0. et aucune mise à jour n'est disponible dans les dépôts standard d'ubuntu 12, cette solution de contournement était donc la solution dans mon contexte.
— AlejandroVD le

@Konrad: Merci! Pour n'importe qui d'autre sur OSX, 1liner remplace:sed -i.lime_color_replace_backup 's/lime/"#99FF00"/g' /usr/local/bin/gitk
— bgs

vous devrez peut-être au chmod u+w /usr/local/bin/gitkpréalable
— Renaud

9

@Konrad Merci pour l'aide !! Bien que la réponse soit correcte, sachez que votre commande

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

contient deux guillemets différents, ce qui définira. jette une erreur si copié et collé.

Donc, pour y arriver, je devais faire:

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

Et à l'intérieur de vim:

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

2
J'ai découvert ça aussi. J'ai assez de karma pour pouvoir modifier la réponse de Konrad.
— George V. Reilly

Je suis d'accord. Cela aurait dû être une modification de la réponse de Konrad.
— ReggieB le

4

Si vous ne souhaitez pas utiliser Caskroom, suivez ceci:

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

Cela a très bien fonctionné, merci. J'ai dû utiliser link tcl-tk --force --overwritecependant.
— Lenar Hoyt

4

J'étais confronté au même problème dans le système ubuntu. Ensuite, je passe à l'étape ci-dessous pour résoudre le problème.

  1. ouvrez le fichier / usr / bin / gitk dans n'importe quel éditeur de texte

  2. rechercher le mot-clé «lime» dans le fichier

  3. remplacer «lime» par «vert» par tout dans le fichier

  4. enregistrer les modifications de fichier

  5. essayez à nouveau gitk puis ça marche


2

J'utilise MAC avec Yosemetti et j'ai suivi les étapes ci-dessous pour résoudre.

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

Merci @kaushal sharma, a suivi votre réponse, avec un changement dans le chemin gitk.


2

Ajout utile aux bonnes réponses suggérant de remplacer toutes les occurrences du mot "lime" par le mot "green" dans le fichier / usr / bin / gitk ou / usr / local / git / bin / gitk:

Le remplacement des occurrences de "lime" dans le fichier "gitk" ci-dessus n'est parfois pas suffisant.

Vous devez également effectuer le même processus de remplacement sur le fichier ~/.config/git/gitkou supprimer ce fichier.


0

Suivez les instructions ci-dessus, mais procédez également comme suit:

avant d'exécuter vi: chmod + w / usr / local / bin / gitk

après la fermeture de vi: chmod -w / usr / local / bin / gitk


Veuillez noter que «ci-dessus» n'a pas de contexte dans les réponses, car elles peuvent être triées de différentes manières. Il vaudrait mieux établir un lien direct avec la réponse à laquelle vous faites référence.
— ale

0

Assurez-vous que votre chemin est correctement défini lorsque vous essayez la solution de Keith B. L'exécution a brew doctormontré que j'avais / usr / bin avant / usr / local / 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

Merci Konrad, cela fonctionne pour moi avec l'étape ci-dessous

  1. mise à jour sudo brew
  2. sudo brew cask installer tcl

-


C'est Kieth B qui a suggéré de faire ça.
— ReggieB
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.