我已经阅读并重新阅读了文档:mnesia:activity/3,mnesia:activity/4,以及mnesia/transaction/2,但它们对我来说仍然像一本不起眼的外语.
在我有限的实验中,它们似乎返回相同的结果.
某种灵魂可以帮助我理解何时以及为什么我会使用一种与另一种相比?
非常感谢,
LRP
我已经在GitLab上创建了几个存储库,需要创建更多的存储库。过去这对我有用,但是现在我无法访问。
因此,请问如何诊断和修复?
我的目标:我很快就要出国定居。我想在不在的时候在笔记本计算机上进行多个项目。
我尝试按照“现有Git存储库”中的说明创建两个新项目:
https://gitlab.com/writersglen/AntsleBook
但是在两种情况下,当我尝试推送时都会得到此信息:
lloyd@wg-dev:~/WG/Books/Titles/Antsle$ git push -u origin --all
sign_and_send_pubkey: signing failed: agent refused operation
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
Run Code Online (Sandbox Code Playgroud)
据我所知,我在GitLab上拥有正确的公钥。
当我尝试从成功创建的存储库中提取信息时,也会收到类似的消息。
因此,如果有人能向我展示如何摆脱困境,我将不胜感激。
最好的祝愿,
LRP
我阅读并重新阅读了文档和教程,但是我对如何创建Erlang应用程序和Rebar的理解仍然有足够的洞来像瑞士奶酪.非常简单的东西会让我失望.
我正在努力开发一个Erlang版本,最终将包括我自己的几个应用程序以及Webmachine,也许还有一个或者另一个版本的nosql db.使用Rebar我已经成功编译并测试了我的应用程序:ZZZ和ZZZ_Lib.我的目录结构如下所示.我不相信它是最佳的,但它确实有效.
我已经在... learn1/apps目录下安装了Webmachine.
我的下一步是将Webmachine与名为test_resource:erl的下面显示的非常简单的webmachine_demo_resource集成.
http://webmachine.basho.com/example_resources.html
但是当我尝试编译时,我收到此错误消息:
src/test_resource.erl:3:找不到包含lib"webmachine/include/webmachine.hrl"
这是test_resource.erl中的违规行:
-include_lib("webmachine/include/webmachine.hrl").
Run Code Online (Sandbox Code Playgroud)
我试图设置ERL_LIBS(我不完全理解)和PATH都没有成功.所以,显然,我不明白如何设置正确的路径或如何最好地集成Webmachine.
欢迎任何和所有指导.
LRP
*目录结构
learn1 $ ls apps rebar rebar.config
learn1/apps $ ls webmachine zzz zzz_lib
learn1/apps/zzz_lib/src $ ls yada yada test_resource.erl yada yada
* rebar.config
{sub_dirs,
["apps/zzz",
"apps/zzz/src",
"apps/zzz_lib",
"apps/zzz_lib/src"
]
}.
Run Code Online (Sandbox Code Playgroud)
* zzz_lib.app.src
{application, zzz_lib,
[
{description, ""},
{vsn, "1"},
{modules, [
yada yada
]},
{applications, [
kernel,
stdlib,
webmachine
]},
{mod, { zzz_lib_app, []}},
{env, []}
]}.
Run Code Online (Sandbox Code Playgroud) 我在Rebar下捆绑了一个Erlang应用程序(现在只有几个库模块).目录结构如下所示:
MyProject
- apps
-- myapp
--- ebin
--- src
--- yada
- rebar
- rebar.conf
Run Code Online (Sandbox Code Playgroud)
MyProject $ ./rebar编译按预期响应.
我打开了Erlang shell(MyProject $ erl -pa apps/*/ebin myapp)并且可以执行导出的函数.
现在我编辑源文件,添加导出的函数,然后重新编译.但是,whaaa ---当我尝试执行我的新导出函数时,我得到一个错误---未定义的函数.我在Erlang shell中执行myAppModule:module_info/0.它没有列出我刚添加到源文件中的新函数,也没有列出我对其他函数所做的更改.
我删除相关的*.beam文件并重新编译.还是看不出我的变化.
但是,现在我从Erlang shell中获取q()并重新输入.你知道什么!一切正常,包括我的新功能.
为什么会这样?
非常感谢,
LRP
作为OTP noobie,我正在努力了解如何构建我的Erlang项目.到目前为止,它在rebar管理的app目录下有几个应用程序:
proj_root
apps
app1
app2
appN
rebar.config
Run Code Online (Sandbox Code Playgroud)
我可以在应用程序:start(app1)的shell中启动app1.毫无疑问,我可以通过appN重复这一点.但是有更好或更好的方法吗?我可以说,编写一个捆绑所有这些开头的函数吗?如果是的话,我该把它放在哪里?
我还有其他几个问题,但会另外发布.
非常感谢,
LRP
我正在尝试通过以下方式严格遵循(例如剪切和粘贴)入门说明来生成Erlang Cowboy版本:
https://github.com/extend/cowboy/blob/master/guide/getting_started.md
Run Code Online (Sandbox Code Playgroud)
一切顺利,直到我创建Makefile和执行$ make.编译过程终止如下:
...
make[1]: Leaving directory `/home/lloyd/hello_erlang/deps/cowboy'
ERLC hello_erlang_app.erl hello_handler.erl hello_erlang_sup.erl
compile: warnings being treated as errors
src/hello_handler.erl:3: behaviour cowboy_http_handler undefined
make: *** [ebin/hello_erlang.app] Error 1
Run Code Online (Sandbox Code Playgroud)
我已经对我的代码进行了三次检查,但看不到任何我错过的内容.
那么,这是我的错误吗?或者"入门"说明或牛仔本身的错误?如果这是我的错误,我该如何解决?
我提出了这个问题essen@ninenines.eu,但到目前为止还没有回应.
erlang ×5
erlang-shell ×2
rebar ×2
cowboy ×1
erlang-otp ×1
git ×1
gitlab ×1
mnesia ×1
transactions ×1
webmachine ×1