gitk no se iniciará en Mac: nombre de color desconocido "lime"


127

He instalado git en una Mac a través de brew install git. Cuando intento iniciar gitk me sale el siguiente error:

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)

Parece que mi Mac no tiene un color llamado lime.

¿Puedo agregar un color lima al medio ambiente o hay una solución mejor?

La versión de git es 2.7.0, y la Mac ejecuta Yosemite 10.10.5

Respuestas:


197

Puede verificar su versión de Tcl / Tk ejecutando wishy utilizando el comando info patchlevel. Parece que git 2.7.0, Tcl / Tk 8.5.9 y OS X 10.11 El Capitan no funcionan bien juntos.

Resolví este problema haciendo brew cask install tcl, que instaló 8.6.4, y gitkfunciona ahora.


3
Hay algo extraño usando MacPorts aquí. La versión 8.6.4 de Tcl está instalada, pero el deseo es informar 8.5.9.
edA-qa mort-ora-y

44
Una vez que he instalado un nuevo Tcl / Tk, que tenía que hacer brew install --build-from-source gitcon el fin de conseguir git guique empezar gitkcon el Tcl actualizada.
Lo5an

1
Una advertencia que he descubierto desde entonces: si tiene instalado tcl 8.6.4, entonces rbenvtiene problemas para instalar nuevas versiones de Ruby.
Kate Bertelsen

3
Instalé Tcl 8.6 sin preparación, descargando el paquete de instalación de ActiveTcl . Gitk funciona bien ahora.
Pasi Välkkynen

1
Si intento ejecutar brew cask install tcldentro de la línea de comandos de deseo
aparece

49

También encontré el mismo problema con exactamente la misma versión de git y OSX. Como solución temporal le sugiero que haga lo siguiente:

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

y reemplace todas las ocurrencias de cal con el color que desee (usé # 99FF00). Aquí está el comando vim:

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

EDITAR: siga la respuesta de Keith B para una solución permanente.


Tuve que cambiar el código hexadecimal a "verde" para que funcione, falló en la línea 3400 de lo contrario.

Usando MacPorts, este archivo se ubicó en/opt/local/bin/gitk
edA-qa mort-ora-y

Tuve el mismo problema en ubuntu 12.04 después de actualizar git / gitk a la versión 2.7.0. Tengo tcl 8.5.0. y no hay actualizaciones disponibles en los repositorios estándar de ubuntu 12, por lo que esta solución fue la solución en mi contexto.
AlejandroVD

@ Konrad: ¡Gracias! Para cualquier otra persona en OSX, 1liner reemplazar:sed -i.lime_color_replace_backup 's/lime/"#99FF00"/g' /usr/local/bin/gitk
BGS

es posible que necesite de chmod u+w /usr/local/bin/gitkantemano
Renaud

9

@ Konrad Gracias por la ayuda !! Aunque la respuesta es correcta, tenga en cuenta que su comando

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

contiene dos comillas diferentes, que def. arrojar un error si se copia y se pega.

Entonces, para seguir adelante, tuve que hacer:

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

Y dentro de vim:

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

2
Yo también descubrí esto. Tengo suficiente karma para poder editar la respuesta de Konrad.
George V. Reilly

Estoy de acuerdo. Esto debería haber sido una edición de la respuesta de Konrad.
ReggieB

4

Si no quieres usar Caskroom, sigue esto:

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

Eso funcionó muy bien, gracias. Aunque tuve que usar link tcl-tk --force --overwrite.
Lenar Hoyt

4

Me encontré con el mismo problema en el sistema ubuntu. Luego paso por debajo del paso para resolver el problema.

  1. Abra el archivo / usr / bin / gitk en cualquier editor de texto

  2. buscar palabra clave 'lime' en el archivo

  3. reemplace 'lima' a 'verde' con todos en el archivo

  4. guardar cambios de archivo

  5. intente nuevamente gitk entonces funciona


2

Estoy ejecutando MAC con Yosemetti y seguí los pasos a continuación para resolver.

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

Gracias @kaushal sharma, siguió su respuesta, con un cambio en el camino gitk.


2

Además útil de las buenas respuestas que sugieren reemplazar todas las apariciones de la palabra "lima" por la palabra "verde" en el archivo / usr / bin / gitk o / usr / local / git / bin / gitk:

La sustitución de ocurrencias de "lima" en el archivo "gitk" anterior a veces no es suficiente.

También debe hacer el mismo proceso de reemplazo en el archivo ~/.config/git/gitko eliminar ese archivo.


0

Siga las instrucciones anteriores, pero adicionalmente haga lo siguiente:

antes de ejecutar vi: chmod + w / usr / local / bin / gitk

después de cerrar vi: chmod -w / usr / local / bin / gitk


Tenga en cuenta que "arriba" no tiene contexto en las respuestas, ya que se pueden ordenar de varias maneras. Sería mejor vincular directamente a la respuesta a la que se refiere.
ale

0

Asegúrese de que su camino esté configurado correctamente cuando pruebe la solución de Keith B. La ejecución brew doctormostró que tenía / usr / bin antes de / 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

Gracias Konrad, funciona para mí con el siguiente paso

  1. actualización de sudo brew
  2. sudo brew cask install tcl

-


Fue Kieth B quien sugirió hacer eso.
ReggieB
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.