Big Sur 上有些問題,具體解決可以參考 http://www.itdecent.cn/p/cf70b835fba5
Elixir/Erlang 有個超贊的開箱即用的運(yùn)行時信息觀察器,這個是其他語言至今都還沒有的,得益于Erlang的Actor模型和工作機(jī)制,開啟這個觀測器,完全不會影響和阻礙系統(tǒng)的正常運(yùn)行。
因此,在即使在生產(chǎn)環(huán)境,你也可以毫無心理負(fù)擔(dān)的使用。甚至,更牛叉的是,由于Erlang的天生分布式,你甚至能夠在本地,用這個觀察器,觀察遠(yuǎn)程生產(chǎn)節(jié)點(diǎn)的運(yùn)行信息。
正常啟動, 在iex命令行中輸入 :observer.start() 回車
iex(1)> :observer.start()





看~ 你的程序的運(yùn)行時的一切信息,都能被可視化的查看,如同開啟上帝視角。
你羨慕嗎?想要嗎?
然而,自從MacOS多了一個深色主題模式,每次我打開 Observer , 看到的卻是成了這個效果

我也在微信群里詢問其他人,其他人又說沒問題 ,讓我不斷懷疑自己這個問題,我便只好忍 再忍 一直忍,困擾了我一年多兩年了。
每打開一次,便不爽一次,通過分析, erlang 的 observer 用的GUI是 wxWidgets,然后我在對比,推斷問題可能出在 wxWidgets 上,那便動手,
brew upgrade wxmac
到最新版了,還是不行. wxmac 是 wxWidgets 的mac包名.
再看,brew 上 wxmac (wxwidgets)最新是 3.0.x
而 wxwidgets 的源代碼已經(jīng)到了 3.1.4 (也稱 wx-3.2) 了
有源代碼,這應(yīng)該是難不倒我了.
下載源碼,編譯,安裝,
一頓操作猛如虎
結(jié)果問題原地杵
還是不行,(現(xiàn)在推斷起來,應(yīng)該是 brew install erlang 沒有用源碼構(gòu)建方式)
無奈,問題只好再繼續(xù)掛起。
再后來,Phoenixframework 1.4.x 出了LiveView, 并用LiveView實(shí)現(xiàn)了LiveDashboard, 直接在瀏覽器上就可以看了,內(nèi)容雖然少了點(diǎn),但也差不多夠用了。 對 observer 的這個問題,也就沒那么糾結(jié)了,但始終不爽~

再次贊嘆,Elixir的世界,就是這么屌。
今天,偶然有打開了 observer, 再忍不住,網(wǎng)絡(luò)上搜索信息,看到,確實(shí),wxWidgets是到了 3.1.3 版本才正式支持了深色模式,看到源碼庫,最新穩(wěn)定版本已經(jīng)是 3.1.4 , 而且,有人在 erlang-22上搞定了,便重新整理了一下思路。有可能是之前,安裝erlang時,沒有重新用源碼編譯,erlang的預(yù)編譯包用的還是 3.0.5 , 而系統(tǒng)上是 3.1.4 ,直接掛了。
再次動手
# 卸載
brew uninstall elixir
brew uninstall erlang
brew uninstall wxmac
# 修改 wxmac 配置,強(qiáng)行指定 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
再次進(jìn)入 iex , 啟動observer
iex
iex(1)> :observer.start()
正常的頁面回來了, 歐耶~

分享這個過程,是想說明:
問題總有解決辦法,
當(dāng)前沒能解決,是因?yàn)槲覀兊?知識 經(jīng)驗(yàn) 能力 還有不足那就努力提升 知識 經(jīng)驗(yàn) 能力,多去思考 探索
藍(lán)蓮花傳送門
