我在这里是因为我试图在YAWS上的页面上使用Couchbeam。 我已经测试过CB,并且可以使用以下命令从Terminal正常工作:

erl -pa ebin -pa deps/ibrowse/ebin -s couchbeam

现在,我试图在网页上本地复制自己的内容。 我认为问题是我不知道如何从yaws页面告诉erl做erl -pa ebin -pa deps / ibrowse / ebin -s长椅。

我试图简单地运行所有需要的应用程序,但是我得到了:

Stack: [{ibrowse_lib,url_encode,["test"],[]},
{couchbeam,save_doc,3,[{file,"src/couchbeam.erl"},{line,383}]},
{m50,out,1,
     [{file,"/Users/Nesh/.yaws/yaws/default/m50.erl"},{line,35}]},
{yaws_server,deliver_dyn_part,8,
             [{file,"yaws_server.erl"},{line,2647}]},
{yaws_server,aloop,4,[{file,"yaws_server.erl"},{line,1152}]},
{yaws_server,acceptor0,2,[{file,"yaws_server.erl"},{line,1013}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]

这是我的错误代码:

<erl>


 startApp() ->
 application:start(crypto),
 application:start(private_key),
 application:start(ssl),
 application:start(sasl), 
 application:start(ibrowse),
 application:start(couchbeam).



out(Arg) ->
startApp(),

Host = "localhost",
Port = 5984,
Prefix = "",
Options = [],
S = couchbeam:server_connection(Host, Port, Prefix, Options),

Options = [],{ok, Db} = couchbeam:open_db(S, "erlang", Options),

Doc = {[{<<"_id">>, <<"test">>},{<<"content">>, <<"web text">>}]},
{ok, Doc1} = couchbeam:save_doc(Db, Doc).


</erl>

#1楼 票数:1

我不建议从这样的.yaws页面内运行Couchbeam。 相反,您应该创建一个Erlang版本 ,以使Couchbeam和Yaws都在同一个Erlang VM中执行,然后使用Yaws appmod调用Couchbeam,或者应该考虑使Couchbeam成为Yaws的引导yapp

如果您确实认为自己存在加载路径问题,则可以通过ebin_dir指令在yaws.conf文件中指定加载路径。 例如:

ebin_dir = deps/ibrowse/bin
ebin_dir = couchbeam/ebin

但是您显示的堆栈跟踪似乎丢失了某些内容,因此很难准确地告诉您出了什么问题。

#2楼 票数:0

我设法解决此问题:

我在yaws.conf中添加了以下几行:

ebin_dir = /usr/local/var/yaws/couchbeam/deps/ibrowse/ebin
ebin_dir = /usr/local/var/yaws/couchbeam/deps/jiffy/ebin
ebin_dir = /usr/local/var/yaws/couchbeam/deps/mochiweb/ebin
ebin_dir = /usr/local/var/yaws/couchbeam/ebin

注意:我将文件夹“ couchbeam”放在/ usr / local / var / yaws /中

然后我以这种方式修改了代码:

load_deps() ->

application:start(sasl),
application:start(ibrowse),
application:start(jiffy),
application:start(inets),
application:start(xmerl),
application:start(compiler),
application:start(syntax_tools),
application:start(mochiweb),
application:start(couchbeam).


out(Arg) ->

load_deps(),
Host = "localhost",
Port = 5984,
Prefix = "",
Options = [],
S = couchbeam:server_connection(Host, Port, Prefix, Options),

Options = [],{ok, Db} = couchbeam:open_db(S, "erlang", Options),

Doc = {[{<<"content">>, <<"Checking webpage">>}]},
{ok, Doc1} = couchbeam:save_doc(Db, Doc),

{html, "Document has been added"}.


</erl>

  ask by N3sh translate from so

未解决问题?本站智能推荐:

1回复

ebin中的yaws和erlang beam文件

我有问题,当我有我的表格帖子中的整数和浮点数,并在我的ebin文件中接收这些我有梁文件。 希望可以有人帮帮我。 npower.yaws npower62.erl编译为beam文件 -module(npower62)。 -export([MATH3 / 1])。 ma
1回复

将Erlang List的数据输出为Yaws中的HTML

看看我下面的index.yaws文件 代码的第一部分正确运行产生输出,如 第二部分没有错误,但网页仍为空白。 我相信这一节 不打印到浏览器。 为了让它起作用,我可以改变什么?
2回复

如何在Ubuntu中设置Yaws-1.89?

我需要在ubuntu中设置yaws-1.89的帮助。 这是我得到的错误:
1回复

如何在Yaws / Erlang中重写URL

如何在不包含扩展名的情况下访问yaws文件? 说, www.domain.com/listen.yaws => www.domain.com/listen 我从yaws文档/ appmod中找不到任何特定的文档。 我认为这个问题最终将得到澄清!
1回复

在Yaws中运行Erlang代码和项目(ebin_dir)

我正在探索Yaws,并且已经阅读了Yaws手册和《用Erlang构建Web应用程序》一书。 在本书的上一章中,我已经遵循了multi_cast应用程序的每个步骤,但是我无法运行它。 我相信没有找到或使用的是Erlang代码。 我的主目录中有一个项目目录,并且已将特定虚拟服务器的Yaws
1回复

Erlang / Yaws中的块和非块流之间有什么区别

yaws_api:stream_process_deliver(Socket, IoList)和yaws_api:stream_process_deliver_chunk(Socket, IoList)什么yaws_api:stream_process_deliver_chunk(Socket,
1回复

Erlang:函数在 shell 中有效,但在 YAWS 中无效

我唯一的调试方法 ( io:format/2 ) 在 YAWS 中不起作用。 我不知所措。 我的主管启动了三个进程:ETS Manager、YAWS Init 和 Ratelimiter。 这是成功的。 我可以在 shell 中使用速率限制器……调用 YAWS 应该使用的相同函数。 不同之处在于 s
1回复

如何在Yaws中获得WebSocket客户端的句柄?

使用handle_message/1回调时,有什么方法可以将“句柄”(例如Pid)传递给客户端? 这样我就可以向特定的客户端发送消息,并生成带有客户端列表作为特定客户端组的参数的进程(例如,用于游戏/聊天会话)。 还是我应该使用Yaws解决其他问题? 我没有在Yaws网站上的任何文档或