[英]wxmac elixir error when trying to run :observer.start in iex
在 iex 中運行:observer.start
后,我收到了以下消息。 我嘗試卸載並重新安裝 Elixir 和 Homebrew 但無濟於事。
objc[58977]: Class wxNSProgressIndicator is implemented in both /usr/local/Cellar/wxmac/3.0.5.1_1/lib/libwx_osx_cocoau_core-3.0.0.5.0.dylib (0x1f5e9fc0) and /usr/local/opt/wxmac/lib/libwx_osx_cocoau_core-3.0.dylib (0x1ef61fc0). One of the two will be used. Which one is undefined.
objc[58977]: Class wxNSTableDataSource is implemented in both /usr/local/Cellar/wxmac/3.0.5.1_1/lib/libwx_osx_cocoau_core-3.0.0.5.0.dylib (0x1f5ea038) and /usr/local/opt/wxmac/lib/libwx_osxzsh: segmentation fault
我卸載 wxmac:
brew uninstall wxmac
並重新安裝以在本地構建 wxmac,而不是使用額外標志安裝已構建的二進制文件:
brew install --build-from-source wxmac
為 asdf 更新插件 erlang:
asdf plugin-update erlang
然后安裝Erlang的最新版本:
asdf install erlang latest
現在,當我嘗試運行:observer.start()
時,它可以工作了!
Observer 使用WXwidgets渲染 window 和平台上的控件。 由於錯誤表明您有 2 個安裝,不確定如何在 mac 上處理此類錯誤,但我想刪除其中一個版本將解決錯誤。
為了讓您的生活更輕松,現在有一個新選項可以在名為Phoenix Live Dashboard的瀏覽器中運行觀察者,它不需要安裝任何本地渲染器依賴項。
將額外的標志傳遞給brew install
以在本地構建 wxmac,而不是安裝已經構建的二進制文件。( bigsur wxmac 瓶中似乎有一個錯誤)。 Elixir 依賴於 Erlang,而后者又依賴於 wxmac 以顯示觀察者 window。 所以在安裝 erlang 或 elixir 之前先執行這個。
brew install --build-from-source wxmac
似乎所有 dylib 文件在/usr/local/opt/wxmac/lib
中彼此完全相同。 這可能是如何為 wxmac 安裝 dylib 的問題,但我現在沒有耐心跟進。 也許比我了解更多的人知道如何修復 wxmac brew 公式?
這有點小技巧,但我發現手動對目錄中的所有 dylib 進行符號鏈接可以解決我的問題。 例如,
cd /usr/local/opt/wxmac/lib
rm libwx_osx_cocoau_core-3.0.dylib
ln -s libwx_osx_cocoau_core-3.0.0.5.0.dylib libwx_osx_cocoau_core-3.0.dylib
# repeat for any/all libs that are a problem (I did all of them)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.