簡體   English   中英

wxmac elixir 嘗試運行時出錯:iex 中的observer.start

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM