Big Sur 上有些问题,具体解决可以参考 https://www.jianshu.com/p/cf70b835fba5
Elixir/Erlang 有个超赞的开箱即用的运行时信息观察器,这个是其他语言至今都还没有的,得益于Erlang的Actor模型和工作机制,开启这个观测器,完全不会影响和阻碍系统的正常运行。
因此,在即使在生产环境,你也可以毫无心理负担的使用。甚至,更牛叉的是,由于Erlang的天生分布式,你甚至能够在本地,用这个观察器,观察远程生产节点的运行信息。
正常启动, 在iex命令行中输入 :observer.start() 回车
iex(1)> :observer.start()
看~ 你的程序的运行时的一切信息,都能被可视化的查看,如同开启上帝视角。
你羡慕吗?想要吗?
然而,自从MacOS多了一个深色主题模式,每次我打开 Observer , 看到的却是成了这个效果
我也在微信群里询问其他人,其他人又说没问题 ,让我不断怀疑自己这个问题,我便只好忍 再忍 一直忍,困扰了我一年多两年了。
每打开一次,便不爽一次,通过分析, erlang 的 observer 用的GUI是 wxWidgets,然后我在对比,推断问题可能出在 wxWidgets 上,那便动手,
brew upgrade wxmac
到最新版了,还是不行. wxmac 是 wxWidgets 的mac包名.
再看,brew 上 wxmac (wxwidgets)最新是 3.0.x
而 wxwidgets 的源代码已经到了 3.1.4 (也称 wx-3.2) 了
有源代码,这应该是难不倒我了.
下载源码,编译,安装,
一顿操作猛如虎
结果问题原地杵
还是不行,(现在推断起来,应该是 brew install erlang 没有用源码构建方式)
无奈,问题只好再继续挂起。
再后来,Phoenixframework 1.4.x 出了LiveView, 并用LiveView实现了LiveDashboard, 直接在浏览器上就可以看了,内容虽然少了点,但也差不多够用了。 对 observer 的这个问题,也就没那么纠结了,但始终不爽~
再次赞叹,Elixir的世界,就是这么屌。
今天,偶然有打开了 observer, 再忍不住,网络上搜索信息,看到,确实,wxWidgets是到了 3.1.3 版本才正式支持了深色模式,看到源码库,最新稳定版本已经是 3.1.4 , 而且,有人在 erlang-22上搞定了,便重新整理了一下思路。有可能是之前,安装erlang时,没有重新用源码编译,erlang的预编译包用的还是 3.0.5 , 而系统上是 3.1.4 ,直接挂了。
再次动手
# 卸载
brew uninstall elixir
brew uninstall erlang
brew uninstall wxmac
# 修改 wxmac 配置,强行指定 wxwidgets 3.1.4
brew edit wxmac
# 把 第4 、第5 行,url and sha265 替换为下面信息,然后保存
url "https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.4/wxWidgets-3.1.4.tar.bz2"
sha256 "3ca3a19a14b407d0cdda507a7930c2e84ae1c8e74f946e0144d2fa7d881f1a94"
# 在 50 行左右的 "--with-zlib" 前,插入
"--enable-compat28",
#保存
# 源码方式安装 wxmac
brew install --build-from-source wxmac
brew link --overwrite wxmac
brew install fop
brew 安装 erlang 和 elixir
brew install --build-from-source erlang
brew install elixir
或者 asdf 安装erlang 和 elixir (推荐)
asdf plugin add erlang
asdf install erlang 23.1.1
asdf global erlang 23.1.1
asdf plugin add elixir
asdf install elixir 1.11.1-otp-23
asdf global elixir 1.11.1-otp-23
再次进入 iex , 启动observer
iex
iex(1)> :observer.start()
正常的页面回来了, 欧耶~
分享这个过程,是想说明:
问题总有解决办法,
当前没能解决,是因为我们的 知识 经验 能力 还有不足那就努力提升 知识 经验 能力,多去思考 探索