异常出口:"cannot load yaws"

exception exit: "cannot load yaws"

我一直在尝试将 yaws 嵌入到 erlang 应用程序中,但无论我做什么我都会抛出这个异常

** exception exit: "cannot load yaws"
     in function  yaws_api:embedded_start_conf/4 (yaws_api.erl, line 2598)
     in call from ybed:run/0 (ybed.erl, line 35)
3> 

我使用了雅司病样本 "ybed.erl" 示例,但仍然没有运气:http://hyber.org/code.yaws?file=/ybed.erl

我正在使用 ubuntu 14.04

更新

正如 Steve Vinoski 所建议的那样,这是一个加载路径问题。

我按照说明包含了 application:load(yaws),return 的值为 {error,{"no such file or directory","yaws.app"}}。所以我 运行 Erlang 遵循 $ sudo erl -pa /usr/lib/yaws/ebin 并且它很有魅力。

谢谢!

这几乎可以肯定是加载路径问题,因为失败是由 yaws_api:embedded_start_conf/4 中对 application:load(yaws) 的调用失败引起的。我不知道您是如何创建或启动您的应用程序的,但您需要确保 yaws 应用程序在加载路径中。

要完整回答您的问题,我们需要知道 application:load(yaws) 失败的原因。暂时将 ybed.erl 的副本更改为在调用 yaws_api:embedded_start_conf/4 之前调用 application:load(yaws),然后查看 application:load/1 returns。这将告诉您为什么 yaws_api:embedded_start_conf/4 中的 application:load/1 调用失败。