gitk не запуститься на Mac: невідома назва кольору "lime"


127

Я встановив git на mac via brew install git. Коли я намагаюся запустити gitk, я отримую таку помилку:

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)

Схоже, у мого Mac немає кольору з назвою lime.

Чи можна додати колір вапна до навколишнього середовища, чи є кращий виправлення?

Версія git становить 2.7.0, а на Mac працює Yosemite 10.10.5

Відповіді:


197

Ви можете перевірити свою версію Tcl / Tk, запустивши wishта скориставшись командою info patchlevel. Здається, що git 2.7.0, Tcl / Tk 8.5.9 та OS X 10.11 El Capitan не працюють добре разом.

Я вирішив цю проблему, зробивши brew cask install tcl8.6.4 і gitkпрацює зараз.


3
Тут є щось дивне з використанням MacPorts. Встановлена ​​версія Tcl 8.6.4, але бажано повідомити про 8.5.9.
edA-qa mort-ora-y

4
Після того, як я встановив новий Tcl / Tk, мені довелося це зробити brew install --build-from-source gitдля того, щоб почати git guiроботу gitkз оновленим Tcl.
lo5an

1
Застереження, яке я з тих пір виявив: якщо у вас встановлено tcl 8.6.4, rbenvвиникають проблеми з установкою нових версій Ruby.
Кейт Бертелсен

3
Я встановив Tcl 8.6 без заварки, завантаживши інсталяційний пакет ActiveTcl . Gitk зараз працює чудово.
Pasi Välkkynen

1
Якщо я спробую запустити brew cask install tclв командному рядку бажання, я отримаю таку помилку: недійсна назва команди "варити"
mrbela

49

Я також виявив ту саму проблему з точно такою ж версією git та OSX. В якості тимчасового рішення я пропоную вам зробити наступне:

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

і замініть всі випадки вапна на будь-який колір, який ви хочете (я використовував # 99FF00). Ось команда vim:

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

EDIT: Будь ласка, дотримуйтесь відповіді Keith B для постійного виправлення.


Мені довелося змінити шістнадцятковий код на «зелений», щоб змусити його працювати, в іншому випадку це не вдалося на лінії 3400.

Використовуючи MacPorts, цей файл знаходився в/opt/local/bin/gitk
edA-qa mort-ora-y

У мене була така ж проблема з ubuntu 12.04 після оновлення git / gitk до версії 2.7.0. У мене є tcl 8.5.0. і в стандартній версії ubuntu 12 немає жодного оновлення, тому це рішення було вирішенням у моєму контексті.
AlejandroVD

@Konrad: Дякую! Для всіх, хто працює на OSX, 1liner замінить:sed -i.lime_color_replace_backup 's/lime/"#99FF00"/g' /usr/local/bin/gitk
bgs

вам може знадобитися chmod u+w /usr/local/bin/gitkзаздалегідь
Рено

9

@Konrad Дякую за допомогу !! Хоча відповідь правильна, врахуйте, що ваша команда

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

містить дві різні лапки, які будуть визначати. видалити помилку, якщо скопійовано та вставлено.

Отже, щоб пройти з цим, мені довелося зробити:

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

А всередині vim:

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

2
Це я також виявив. У мене достатньо карми, що я зміг відредагувати відповідь Конрада.
Джордж В. Райлі

Я згоден. Це мала бути редакцією відповіді Конрада.
ReggieB

4

Якщо ви не хочете користуватися Caskroom, дотримуйтесь цього:

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

Це спрацювало чудово, дякую. Мені довелося користуватися, link tcl-tk --force --overwriteхоча.
Ленар Хойт

4

Я зіткнувся з тією ж проблемою в системі ubuntu. Тоді я переходжу нижче кроку, щоб вирішити проблему.

  1. відкрити / usr / bin / gitk файл у будь-якому текстовому редакторі

  2. шукайте у файлі ключове слово "lime"

  3. замініть "липу" на "зелену" усіма файлами

  4. зберегти зміни файлів

  5. спробуйте ще раз gitk, тоді це працює


2

Я запускаю MAC з Yosemetti і дотримуюся наведених нижче кроків для вирішення.

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

Дякуємо @kaushal sharma, що дотримується вашої відповіді, зі зміною шляху gitk.


2

Корисне доповнення до хороших відповідей, що пропонують замінити всі зустрічі слова "lime" на слово "green" у файлі / usr / bin / gitk або / usr / local / git / bin / gitk:

Заміщення зустрічань "lime" у наведеному вище файлі "gitk" іноді недостатньо.

Вам також потрібно виконати той самий процес заміни файла ~/.config/git/gitkабо видалити його.


0

Дотримуйтесь наведених вище інструкцій, але додатково виконайте такі дії:

перед запуском vi: chmod + w / usr / local / bin / gitk

після закриття vi: chmod -w / usr / local / bin / gitk


Зверніть увагу, що "вище" не має контексту у відповідях, оскільки їх можна сортувати різними способами. Краще було б зв’язати безпосередньо відповідь, на яку ви звертаєтесь.
але

0

Переконайтеся, що ваш шлях встановлений правильно при спробі рішення Кіта Б. Біг brew doctorпоказав, що я мав / usr / bin раніше / 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

Спасибі Конрад, це працює для мене з кроком нижче

  1. оновлення судо варити
  2. sudo варити бочковий встановити tcl

-


Саме Кіет Б запропонував це зробити.
ReggieB
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.