【问题标题】:Observer is not available - Elixir观察者不可用 - Elixir
【发布时间】:2015-09-08 04:22:37
【问题描述】:

我正在开发 ubuntu 14.04 LTS。我按照offical website 中给出的说明安装了 elixir,在控制台中运行了以下几行,一切正常

Add Erlang Solutions repo: wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i erlang-solutions_1.0_all.deb
Run: sudo apt-get update
Run: sudo apt-get install elixir

但是当我在 iex shell 中运行 :observer.start 时,我得到以下错误

** (UndefinedFunctionError) 未定义函数: :observer.start/0 (模块 :observer 不可用) :observer.start()

我上网查了几条命令,解决了这个问题

apt list | grep -i erlang

它返回了许多可能与之相关的行

erlang-observer/未知 1:18.0 amd64

关于如何使它工作的任何帮助?

更新

似乎 :dbg 和 :mnesia 等其他模块正在运行。虽然我无法确认所有模块是否都在工作。还想知道为什么有些工作而有些不工作?

【问题讨论】:

  • 我是 Mac 所以对我来说:observer.start 按预期正确启动了 Erlang 观察者 gui。您发送的错误module :observer is not available - 似乎缺少 erlang 模块。如果您的应用程序或交互式 shell 调用未知的 erlang 模块,那么我认为您应该有一些包含更多详细信息的 erl_crash.dump 文件。这个工具erlang.org/doc/apps/tools/xref_chapter.html 和详细信息会帮助您将问题归零吗?
  • 如果你想手动构建它,这里是 Erlang/OTP 观察者应用程序的源代码 - rpmfind.net/linux/RPM/opensuse/factory/x86_64/…
  • @TechFuel,从 iex 调用时没有崩溃转储。

标签: elixir


【解决方案1】:

你能确定 Erlang 也是从 Erlang Solutions 安装的吗?众所周知,发行版会将 Erlang 分解为多个包(Erlang Solutions 不会),因此如果没有可用的观察者,您很可能确实需要安装 erlang-observer。

【讨论】:

  • 除了我在问题描述中写的三行代码外,我在安装中没有做任何其他事情。我认为一切都是自动(并且适当地)安装的,因为 elixir 工作正常。你能告诉我如何单独安装 erlang-observer 吗?或者我应该从 erlang-solutions 中删除然后重新安装 erlang
  • Observer 不是 Elixir 依赖项,因此,如果 Ubuntu 将 erlang 分解为多个包,我想您需要运行 apt-get install erlang-observer 来获取它。或者只是卸载 erlang 并从 erlang 解决方案中获取一个,如您所说。
  • 谢谢,我会发布完整的答案让其他人看得更清楚
【解决方案2】:

感谢@JoseValim,简单地重新运行命令(不删除任何内容)帮助了我。我想我第一次一定遇到了一些互联网连接问题。

Add Erlang Solutions repo: wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i erlang-solutions_1.0_all.deb
Run: sudo apt-get update
Run: sudo apt-get install elixir

【讨论】:

    【解决方案3】:

    值得注意的是,观察者需要一个 GUI。

    可能不清楚时:如果您在 WSL 上运行 iex 并使用来自 VS Code 的远程连接或通过任何连接到 WSL 的终端。

    在此设置上进行开发没有任何问题,但如果您需要观察者,则由于缺少 GUI,因此无法通过连接到 WSL 的终端访问它。有一些选项可用于在 WSL 上安装 GUI 以从 Windows 机器进行远程连接,但我怀疑如果将 Windows 工具与 WSL 一起使用,这会导致相同的结果。

    【讨论】:

      猜你喜欢
      • 2014-03-24
      • 2016-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-14
      • 2011-06-09
      • 2016-08-26
      • 2021-04-13
      相关资源
      最近更新 更多