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.