我一直在尝试将雅司嵌入到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)
,返回值为{error,{"no such file or directory","yaws.app"}}
。所以我跟着$ sudo erl -pa /usr/lib/yaws/ebin
跑了Erlang,它就像魅力一样。
谢谢!
答案 0 :(得分:2)
这几乎肯定是一个加载路径问题,因为失败是由application:load(yaws)
内部yaws_api:embedded_start_conf/4
内部失败引起的。我不知道您是如何创建或启动应用程序的,但您需要确保yaws
应用程序位于加载路径中。
要完全回答您的问题,我们需要知道application:load(yaws)
失败的原因。暂时更改ybed.erl
的副本,以便在致电application:load(yaws)
之前致电yaws_api:embedded_start_conf/4
,并查看application:load/1
返回的内容。这将告诉您application:load/1
内yaws_api:embedded_start_conf/4
调用失败的原因。