答案1
看来 macOS Monterey 附带的 Tcl/Tk 版本 (8.5) 已损坏。
可能的解决方法:
使用 Homebrew 附带的版本
假设自制已经设置好了,执行以下操作:
brew upgrade
brew install tcl-tk
然后设置到新版本的愿望的链接:
cd /usr/local/bin
ln -s ../Cellar/tcl-tk/8.6.12/bin/wish wish
最终将 8.6.12 替换为以下版本:
brew info tcl-tk
重新启动您的终端,所有基于愿望的实用程序都应该正常运行!
答案2
有一个链接 brew 无法正确管理
ls -l /usr/bin/wish
lrwxr-xr-x 1 root wheel 7 Jan 22 08:42 /usr/bin/wish -> wish8.5
我发现这个解决方法
brew tap-new --no-git $USER/local-tap-git-2-32
brew extract --version=2.32 git $USER/local-tap-git-2-32
brew install [email protected]
/usr/local/opt/[email protected]/bin/git --version
brew link --overwrite [email protected]
brew tap-new --no-git $USER/local-tap-tcl-tk-8-6-10
brew extract --version=8.6.10 tcl-tk $USER/local-tap-tcl-tk-8-6-10
brew install [email protected]
brew link --overwrite [email protected]
然后使用以下命令运行 gitk
/usr/local/opt/[email protected]/bin/wish $(which gitk)
答案3
作为现有自制解决方案,以下是基于 MacPorts一、仅需2步:
首先检查系统信息:
$ uname -v
Darwin Kernel Version 21.3.0
$ port -v
MacPorts 2.7.2
步骤1: 安装石英,因为 XOrg 窗口系统不是macOS 12(Monterey)默认发布,
$ Xorg -version
X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
...
第2步:安装Tcl和Tk:
# Check if it is newer than 8.5
$ port info tcl
tcl @8.6.12 (lang)
...
$ port info [email protected]
tk @8.6.12 (x11)
...
# Install
$ sudo port install [email protected]
...
$ sudo port install [email protected]
...
# Check installation folder. (Might need to open a new Terminal)
$ ls -l $(which tclsh)
/opt/local/bin/tclsh -> tclsh8.6
$ ls -l $(which wish)
/opt/local/bin/wish -> wish8.6
打开希望窗口:(这里应该是一个非黑色/破损窗户)
$ wish
完毕。