gitk tidak akan mulai di Mac: nama warna yang tidak dikenal "lime"

127

Saya telah menginstal git pada mac via brew install git. Ketika saya mencoba memulai gitk saya mendapatkan kesalahan berikut:

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)

Tampaknya Mac saya tidak memiliki nama warna lime.

Dapatkah saya menambahkan warna kapur ke lingkungan, atau apakah ada perbaikan yang lebih baik?

Versi git adalah 2.7.0, dan Mac menjalankan Yosemite 10.10.5

ReggieB
sumber

Jawaban:

197

Anda dapat memeriksa versi Tcl / Tk Anda dengan menjalankan wishdan menggunakan perintah info patchlevel. Tampaknya git 2.7.0, Tcl / Tk 8.5.9, dan OS X 10.11 El Capitan tidak berfungsi dengan baik.

Saya memecahkan masalah ini dengan melakukan brew cask install tcl, yang menginstal 8.6.4, dan gitkberfungsi sekarang.

Kate Bertelsen
sumber
3
Ada yang aneh menggunakan MacPort di sini. Tcl versi 8.6.4 diinstal, tetapi keinginan melaporkan 8.5.9.
edA-qa mort-ora-y
4
Setelah saya memasang baru Tcl / Tk, saya harus melakukan brew install --build-from-source gituntuk mendapatkan git guiuntuk memulai gitkdengan Tcl diperbarui.
lo5an
1
Peringatan yang sejak itu saya temukan: jika Anda memiliki tcl 8.6.4 diinstal, maka rbenvmemiliki masalah menginstal versi Ruby baru.
Kate Bertelsen
3
Saya menginstal Tcl 8.6 tanpa minuman, dengan mengunduh paket penginstal ActiveTcl . Gitk berfungsi dengan baik sekarang.
Pasi Välkkynen
1
Jika saya mencoba menjalankan brew cask install tcldalam baris perintah keinginan saya mendapatkan kesalahan berikut: nama perintah yang tidak valid "brew"
mrbela
49

Saya juga menemukan masalah yang sama dengan versi git dan OSX yang persis sama. Sebagai solusi sementara saya sarankan Anda untuk melakukan hal berikut:

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

dan ganti semua kejadian kapur dengan warna apa pun yang Anda inginkan (saya menggunakan # 99FF00). Inilah perintah vim:

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

EDIT: Silakan ikuti jawaban Keith B untuk perbaikan permanen.

Konrad
sumber
Saya harus mengubah kode heks menjadi "hijau" untuk membuatnya berfungsi, gagal pada jalur 3400 sebaliknya.
Menggunakan MacPorts file ini terletak di/opt/local/bin/gitk
edA-qa mort-ora-y
Saya memiliki masalah yang sama di ubuntu 12.04 setelah memperbarui git / gitk ke versi 2.7.0. Saya punya tcl 8.5.0. dan tidak ada pembaruan yang tersedia di repo standar ubuntu 12, jadi solusi ini adalah solusi dalam konteks saya.
AlejandroVD
@Konrad: Terima kasih! Untuk orang lain di OSX, ganti 1liner:sed -i.lime_color_replace_backup 's/lime/"#99FF00"/g' /usr/local/bin/gitk
bgs
Anda mungkin perlu chmod u+w /usr/local/bin/gitksebelumnya
Renaud
9

@Konrad Terima kasih atas bantuannya !! Meskipun jawabannya benar, harap diperhatikan bahwa perintah Anda

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

mengandung dua tanda kutip yang berbeda, yang akan def. melempar kesalahan jika disalin & disisipkan.

Jadi untuk menyelesaikannya, saya harus melakukan:

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

Dan di dalam vim:

:%s/lime/"#99FF00"/g
Lukar
sumber
2
Saya menemukan ini juga. Saya memiliki cukup karma sehingga saya dapat mengedit jawaban Konrad.
George V. Reilly
Saya setuju. Ini seharusnya merupakan edit jawaban Konrad.
ReggieB
4

Jika Anda tidak ingin menggunakan Caskroom, ikuti ini:

$ brew install tcl-tk
$ brew link tcl-tk --force
merito
sumber
Itu berhasil, terima kasih. Saya harus menggunakannya link tcl-tk --force --overwrite.
Lenar Hoyt
4

Saya menghadapi masalah yang sama dalam sistem ubuntu. Lalu saya mengalir di bawah langkah untuk menyelesaikan masalah.

  1. buka file / usr / bin / gitk di editor teks apa pun

  2. cari kata kunci 'kapur' dalam file

  3. ganti 'kapur' menjadi 'hijau' dengan semua dalam file

  4. simpan perubahan file

  5. coba lagi gitk lalu berhasil

sharma kaushal
sumber
2

Saya menjalankan MAC dengan Yosemetti dan mengikuti langkah-langkah di bawah ini untuk menyelesaikannya.

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

Terima kasih @kaushal sharma, ikuti jawaban Anda, dengan perubahan di jalur gitk.

Venu Madhav
sumber
2

Tambahan yang berguna untuk jawaban yang baik menyarankan untuk mengganti semua kemunculan kata "kapur" dengan kata "hijau" dalam file / usr / bin / gitk atau / usr / local / git / bin / gitk:

Penggantian kejadian "kapur" di file "gitk" di atas terkadang tidak cukup.

Anda juga perlu melakukan proses penggantian yang sama pada file ~/.config/git/gitk, atau menghapus file itu.

sdive
sumber
0

Ikuti instruksi di atas, tetapi juga lakukan hal berikut:

sebelum menjalankan vi: chmod + w / usr / local / bin / gitk

setelah menutup vi: chmod -w / usr / local / bin / gitk

riscv
sumber
Harap perhatikan bahwa "di atas" tidak memiliki konteks dalam jawaban, karena jawaban tersebut dapat diurutkan dengan berbagai cara. Akan lebih baik untuk menautkan langsung ke jawaban yang Anda maksud.
ale
0

Pastikan, jalur Anda diatur dengan benar ketika mencoba solusi Keith B. Menjalankan brew doctormenunjukkan, bahwa saya memiliki / usr / bin sebelum / 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
Kletterstein
sumber
0

Terima kasih Konrad, Ini bekerja untuk saya dengan langkah di bawah ini

  1. sudo brew update
  2. sudo brew tong tong instal tcl

-

pengguna1665785
sumber
Kieth B yang menyarankan melakukan itu.
ReggieB