我的操作系统是最新的macOS high sierra。我通过Homebrew安装了elixir和所有依赖项。我创建了一个新的Phoenix应用程序。它显示出一些错误。实时重新加载不起作用。以下是信息。
[error] Can't find executable `mac_listener`
[warn] Could not start Phoenix live-reload because we cannot listen to the file system.
You don't need to worry! This is an optional feature used during development to
refresh your browser when you save files and it does not affect production.
似乎有些文件更改侦听器服务没有运行。但我不知道如何解决它。
答案 0 :(得分:9)
我通过重新安装命令行工具解决了这个问题。 打开bash,然后输入:
xcode-select --install
然后,运行mix deps.compile file_system
重新编译file_system模块。完成。
答案 1 :(得分:0)
以上答案对我有用(运行Mojave),但正如所评论的那样,显然并不适合所有人。根据我在Elixir论坛上遇到的讨论,这似乎是其他用户也遇到的持续存在的问题:Can’t find executable mac_listener
- [error] exited in: GenServer.call
一个用户指出,尝试以下所有操作后,他们仍然遇到问题:
似乎对特定用户有所帮助的最后一步是运行以下命令:open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
另一位Catalina用户建议通过运行export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)"
然后重新编译dep在.bash_profile中设置正确的标头路径。
希望这些附加信息对某人有所帮助。
答案 2 :(得分:0)
我已经解决了此问题的解决方案,因为我已经安装了xcode-select:
sudo xcode-select --reset
然后:
mix deps.compile file_system
您可以检查是否安装了:xcode-select -v
路径: xcode-select -p
答案 3 :(得分:0)
以上解决方案都不适合我。在我的情况下,我必须做的是让 phoenix live reload 工作(设置没问题),是删除 mix.lock
文件,然后运行 mix deps.get && mix deps.compile file_system
。