gitk non si avvierà su Mac: nome colore sconosciuto "lime"


127

Ho installato git su un Mac tramite brew install git. Quando provo ad avviare gitk ricevo il seguente errore:

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)

Sembra che il mio Mac non abbia un colore chiamato lime.

Posso aggiungere un colore lime all'ambiente o esiste una soluzione migliore?

La versione git è 2.7.0 e il Mac esegue Yosemite 10.10.5

Risposte:


197

Puoi controllare la tua versione di Tcl / Tk eseguendo wishe usando il comando info patchlevel. Sembra che git 2.7.0, Tcl / Tk 8.5.9 e OS X 10.11 El Capitan non funzionino bene insieme.

Ho risolto questo problema facendo brew cask install tcl, che ha installato 8.6.4, e gitkfunziona ora.


3
C'è qualcosa di strano nell'usare MacPorts qui. La versione 8.6.4 di Tcl è installata, ma Wish segnala 8.5.9.
edA-qa mort-ora-y

4
Una volta che ho installato un nuovo Tcl / Tk, ho dovuto fare brew install --build-from-source gital fine di ottenere git guiper iniziare gitkcon la versione aggiornata Tcl.
Lo5an

1
Un avvertimento che ho scoperto da allora: se hai installato tcl 8.6.4, allora rbenvha problemi a installare nuove versioni di Ruby.
Kate Bertelsen,

3
Ho installato Tcl 8.6 senza problemi , scaricando il pacchetto di installazione di ActiveTcl . Gitk ora funziona bene.
Pasi Välkkynen,

1
Se provo a eseguire brew cask install tclla riga di comando desiderata, visualizzo il seguente errore: nome comando non valido "brew"
mrbela

49

Ho anche riscontrato lo stesso problema con esattamente la stessa versione di git e OSX. Come soluzione temporanea, ti suggerisco di fare quanto segue:

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

e sostituisco tutte le occorrenze di calce con qualsiasi colore desiderato (ho usato # 99FF00). Ecco il comando vim:

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

EDIT: seguire la risposta di Keith B per la correzione permanente.


Ho dovuto cambiare il codice esadecimale in "verde" per farlo funzionare, altrimenti è fallito sulla linea 3400.

Usando MacPorts questo file si trovava in/opt/local/bin/gitk
edA-qa mort-ora-y

Ho avuto lo stesso problema su Ubuntu 12.04 dopo aver aggiornato git / gitk alla versione 2.7.0. Ho tcl 8.5.0. e nessun aggiornamento è disponibile nei repository ubuntu 12 standard, quindi questa soluzione alternativa è stata la soluzione nel mio contesto.
AlejandroVD

@Konrad: grazie! Per chiunque altro su OSX, sostituire 1liner:sed -i.lime_color_replace_backup 's/lime/"#99FF00"/g' /usr/local/bin/gitk
bg

potresti averne bisogno in chmod u+w /usr/local/bin/gitkanticipo
Renaud,

9

@Konrad Grazie per l'aiuto !! Sebbene la risposta sia corretta, tieni presente che il tuo comando

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

contiene due virgolette diverse, che def. genera un errore se copiato e incollato.

Quindi, per andare fino in fondo, ho dovuto fare:

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

E dentro Vim:

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

2
Ho scoperto anche questo. Ho abbastanza karma da poter modificare la risposta di Konrad.
George V. Reilly,

Sono d'accordo. Questo avrebbe dovuto essere una modifica della risposta di Konrad.
ReggieB,

4

Se non si desidera utilizzare Caskroom, attenersi alla seguente procedura:

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

Ha funzionato alla grande, grazie. Ho dovuto usare link tcl-tk --force --overwriteperò.
Lenar Hoyt,

4

Ho avuto lo stesso problema nel sistema Ubuntu. Quindi scorro sotto il passaggio per risolvere il problema.

  1. aprire il file / usr / bin / gitk in qualsiasi editor di testo

  2. cerca la parola chiave "lime" nel file

  3. sostituisci "lime" in "verde" con tutti i file

  4. salva le modifiche ai file

  5. riprovare gitk quindi funziona


2

Sto eseguendo MAC con Yosemetti e ho seguito i passaggi seguenti per risolvere.

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

Grazie @kaushal sharma, ho seguito la tua risposta, con un cambiamento nel percorso gitk.


2

Utile aggiunta alle buone risposte che suggeriscono di sostituire tutte le occorrenze della parola "lime" con la parola "verde" nel file / usr / bin / gitk o / usr / local / git / bin / gitk:

La sostituzione di occorrenze di "lime" nel file "gitk" sopra non è talvolta sufficiente.

È inoltre necessario eseguire la stessa procedura di sostituzione sul file ~/.config/git/gitko rimuovere quel file.


0

Seguire le istruzioni sopra, ma inoltre effettuare le seguenti operazioni:

prima di eseguire vi: chmod + w / usr / local / bin / gitk

dopo aver chiuso vi: chmod -w / usr / local / bin / gitk


Si noti che "sopra" non ha alcun contesto nelle risposte, poiché possono essere ordinati in vari modi. Sarebbe meglio collegarsi direttamente alla risposta a cui ti stai riferendo.
Ale

0

Assicurati che il tuo percorso sia impostato correttamente quando provi la soluzione di Keith B. L'esecuzione ha brew doctormostrato che avevo / usr / bin prima di / 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

Grazie Konrad, funziona per me con il passaggio seguente

  1. aggiornamento sudo brew
  2. sudo brew cask install tcl

-


Fu Kieth B a suggerire di farlo.
ReggieB
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.