gitk sẽ không bắt đầu trên Mac: tên màu không rõ tên vôi vôi


127

Tôi đã cài đặt git trên máy mac thông qua brew install git. Khi tôi cố gắng khởi động gitk, tôi gặp lỗi sau:

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)

Có vẻ như máy Mac của tôi không có màu lime.

Tôi có thể thêm màu vôi vào môi trường không, hoặc có cách khắc phục nào tốt hơn không?

Phiên bản git là 2.7.0 và Mac đang chạy Yosemite 10.10.5

Câu trả lời:


197

Bạn có thể kiểm tra phiên bản Tcl / Tk của mình bằng cách chạy wishvà sử dụng lệnh info patchlevel. Dường như git 2.7.0, Tcl / Tk 8.5.9 và OS X 10.11 El Capitan không hoạt động tốt với nhau.

Tôi đã giải quyết vấn đề này bằng cách thực hiện brew cask install tcl, đã cài đặt 8.6.4 và gitkhoạt động ngay bây giờ.


3
Có một cái gì đó kỳ lạ khi sử dụng MacPorts ở đây. Phiên bản Tcl 8.6.4 đã được cài đặt, nhưng muốn báo cáo là 8.5.9.
edA-qa mort-ora-y

4
Khi tôi cài đặt một Tcl mới / Tk, tôi đã phải làm brew install --build-from-source gitđể có được git guiđể bắt đầu gitkvới Tcl cập nhật.
lo5an

1
Một cảnh báo mà tôi đã phát hiện ra: nếu bạn đã cài đặt tcl 8.6.4, thì rbenvsẽ gặp sự cố khi cài đặt các phiên bản Ruby mới.
Kate Bertelsen

3
Tôi đã cài đặt Tcl 8.6 mà không cần pha, bằng cách tải xuống gói cài đặt ActiveTcl . Gitk hoạt động tốt bây giờ.
Pasi Välkkynen

1
Nếu tôi cố chạy brew cask install tcltrong dòng lệnh wish, tôi gặp lỗi sau: tên lệnh không hợp lệ "brew"
mrbela

49

Tôi cũng tìm thấy vấn đề tương tự với chính xác cùng một phiên bản git và OSX. Như một cách giải quyết tạm thời, tôi khuyên bạn nên làm như sau:

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

và thay thế tất cả các lần xuất hiện của vôi thành bất kỳ màu nào bạn muốn (tôi đã sử dụng # 99FF00). Đây là lệnh vim:

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

EDIT: Vui lòng làm theo câu trả lời của Keith B để sửa chữa vĩnh viễn.


Tôi đã phải thay đổi mã hex thành "xanh" để nó hoạt động, nó đã thất bại trên dòng 3400 nếu không.

Sử dụng MacPorts, tệp này được đặt trong/opt/local/bin/gitk
edA-qa mort-ora-y

Tôi gặp vấn đề tương tự trên Ubuntu 12.04 sau khi cập nhật git / gitk lên phiên bản 2.7.0. Tôi có tcl 8.5.0. và không có bản cập nhật nào có sẵn trong repos ub Ubuntu 12 tiêu chuẩn, vì vậy cách giải quyết này là giải pháp trong ngữ cảnh của tôi.
AlejandroVD

@Konrad: Cảm ơn bạn! Đối với bất kỳ ai khác trên OSX, 1 người thay thế:sed -i.lime_color_replace_backup 's/lime/"#99FF00"/g' /usr/local/bin/gitk
bss

bạn có thể cần phải làm chmod u+w /usr/local/bin/gitktrước
Renaud

9

@Konrad Cảm ơn sự giúp đỡ !! Mặc dù câu trả lời là đúng, xin lưu ý rằng lệnh của bạn

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

chứa hai dấu ngoặc kép khác nhau, sẽ def. ném lỗi nếu sao chép và dán.

Vì vậy, để vượt qua nó, tôi đã phải làm:

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

Và bên trong vim:

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

2
Tôi cũng phát hiện ra điều này. Tôi có đủ nghiệp lực để tôi có thể chỉnh sửa câu trả lời của Konrad.
George V. Reilly

Tôi đồng ý. Đây có lẽ là một bản chỉnh sửa câu trả lời của Konrad.
ReggieB

4

Nếu bạn không muốn sử dụng Caskroom, hãy làm theo điều này:

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

Điều đó đã làm việc tuyệt vời, cảm ơn. Tôi đã phải sử dụng link tcl-tk --force --overwritemặc dù.
Lenar Hoyt

4

Tôi đã phải đối mặt với vấn đề tương tự trong hệ thống Ubuntu. Sau đó tôi chảy bên dưới bước để giải quyết vấn đề.

  1. tập tin open / usr / bin / gitk trong bất kỳ trình soạn thảo văn bản nào

  2. tìm kiếm từ khóa 'vôi' trong tập tin

  3. thay thế 'vôi' thành 'xanh' bằng tất cả trong tệp

  4. lưu thay đổi tập tin

  5. thử lại gitk sau đó nó hoạt động


2

Tôi đang chạy MAC với Yosemetti và làm theo các bước dưới đây để giải quyết.

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

Cảm ơn @kaushal sharma, đã làm theo câu trả lời của bạn, với một sự thay đổi trong con đường gitk.


2

Bổ sung hữu ích cho các câu trả lời tốt đề nghị thay thế tất cả các lần xuất hiện của từ "vôi" bằng từ "xanh" trong tệp / usr / bin / gitk hoặc / usr / local / git / bin / gitk:

Việc thay thế các lần xuất hiện của "vôi" trong tệp "gitk" ở trên đôi khi không đủ.

Bạn cũng cần thực hiện quy trình thay thế tương tự trên tệp ~/.config/git/gitkhoặc xóa tệp đó.


0

Thực hiện theo các hướng dẫn ở trên, nhưng cũng làm như sau:

trước khi chạy vi: chmod + w / usr / local / bin / gitk

sau khi đóng vi: chmod -w / usr / local / bin / gitk


Xin lưu ý rằng "ở trên" không có ngữ cảnh trong câu trả lời, vì chúng có thể được sắp xếp theo nhiều cách khác nhau. Sẽ tốt hơn nếu liên kết trực tiếp đến câu trả lời mà bạn đang đề cập.
ale

0

Hãy chắc chắn rằng, đường dẫn của bạn được đặt chính xác khi thử giải pháp của Keith B. Chạy brew doctorcho thấy, tôi đã có / usr / bin trước / 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

Cảm ơn Konrad, nó hoạt động với tôi với bước dưới đây

  1. cập nhật sudo bia
  2. sudo brew thùng cài đặt tcl

-


Chính Kieth B đã đề nghị làm điều đó.
ReggieB
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.