问题标签 [relx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
erlang - Erlang 发布,设置节点名称为 ./bin/XXXXX start -name nonode@nohost
我有一个现有的 mnesia 数据库,现在我开始使用适当的 erlang 版本。我用relx。
但是,问题是我需要与现有的 mnesia 数据库兼容,并且在创建该数据库时,节点名称为 nonode@nohost。我已经看到,对于 mnesia,节点名称不仅仅是目录名称的一部分,即如果不使用备份和恢复以及一些处理,它就无法更改。
我可以使用
bin/XXXX 控制台-name nonode@nohost
并找到数据库。但是,我想使用
bin/XXXX 开始 -name nonode@nohost
但随后 -name 被忽略。当我附加并执行 node() 时,我得到了其他东西。
我还找到了 vm.args 文件并将节点名称更改为 nonode@nohost 那里,但是得到了
{error_logger,{{2015,2,14},{13,25,17}},"无效节点名称:~p~n",['nonode@nohost']}
所以似乎有人真的确定名字不能是 nonode@nohost :-) 是我这样做的唯一选择:如何重命名运行 mnesia 数据库的节点
erlang - 在启动时启动 Erlang 服务(使用 Relx 创建版本)
我有一个用 Erlang 编写的服务器,用 Rebar 编译,我用 Relx 发布了一个版本。开始很好
下一步是在服务器启动时启动。
我尝试了不同的方法,最后一种方法是使用 /etc/init.d/skeleton 我更改了以下内容
之后,我运行了 update-rc.d,但我并没有得到它太多的工作。(Ubuntu 14.04)
该服务一直运行到机器重新启动,我需要登录并重新启动它。
对于 Windows,它真的很优雅,因为它可以创建 Windows 服务。
erlang - Erlang“内核pid终止”错误
我尝试将 relx 用于发布应用程序。Relx 毫无问题地做到了。但是当我启动应用程序时,我遇到了错误:
正如我从错误中了解到的,我的函数有问题iqServer:start/2
。start/2
看起来像这样:
以前我通过这个命令启动了我的应用程序:erl -pa ebin deps/*/ebin -s iqServer
它运行良好。现在我不知道麻烦在哪里。
这是我的 iqServer.app.src 文件:
生成文件:
relx.config:
erlang - Erlang 和 Elixir 上的包管理
我搜索并得到了一些指向package management
等的指针。你能帮助澄清它们之间的关系吗?在哪里使用什么?Erlang 的同义词是由 组成的吗?Erlang
Elixir
rebar
rebar3
mix
hex
relx
package
application
modules
crash - Erlang 应用程序无法启动
当我尝试 _rel/bin/application_name 控制台时,我得到了这个:
(不确定是什么bad_return
,因为这个应用程序以前启动过)
我lager.app.src
的应用程序同时包含了 syntax_tools 和编译器(以及 goldrush、stdlib 和内核)。
但是,当我从香草 erl 提示符启动 lager 时,lager 会在我启动所有依赖项后启动。
我能得到一些帮助吗?我不确定我没有看到/错过什么。非常感谢期待!
erlang - 使用relx时erlang dbg模块不起作用
我在牛仔示例中修改了 relx.config,添加runtime_tools
{release, {echo_get_example, "1"}, [runtime_tools, echo_get]}.
{extended_start_script, true}.
当我使用 dbg:start() -> dbg:tracer() -> .... 调用 then 函数时没有任何输出。为什么?
docker - 在 docker 容器中连接到正在运行的 Erlang 应用程序版本
这很尴尬,但我完全被困住了,浪费了今天早上的大部分时间。我有一个由 relx 创建的 Erlang 应用程序版本,在 Docker 容器中部署和运行。我需要进入正在运行的节点上的 shell,但我没有这样做。这是发生的事情:
就是这样 - 我可以退出q().
。
erl_pipes
中没有/tmp
。
Control-G 似乎被 Docker 捕获。我无法进入“用户切换命令”菜单。
即使运行一个纯 Erlang shell 也不是那么容易:
我已经没有想法了。任何帮助,将不胜感激。
erlang - 如何在 erlang 版本中包含“.mustache”文件?
我正在尝试将mustache erlang lib 与单独的模板和视图一起使用。我正在使用 rebar3 发布结构。
simple.erl
如果我同时创建和,我会按照文档中的示例进行操作simple.mustache
。但是,当我执行时rebar3 compile
,我的最终 ebin 目录仅包含simple.beam
.
如何确保编译/发布过程捆绑simple.mustache
文件?
这是我的应用程序的布局:
这是我的 rebar.config:
这是我的kitty_api_app.src
,其中包含simple.mustache
在它的src
目录中:
makefile - 如何在 rebar3 中使用操作系统环境变量
我目前有一个基于 rebar3 的 erlang 应用程序,它由一个 erlang 后端和一个 javascript 前端组成。为了结合前端和后端构建系统,我使用了一个 makefile。我的 rebar.config 看起来像这样:
钢筋配置:
生成文件:
我想在rebar.config文件中使用环境变量来控制参数,例如版本——{pgserver_dev, "0.1.0"}
在创建版本时。如果我指定一个变量:VERSION
构建可能如下所示:
钢筋配置:
那么,是否可以在relx/rebar3 中使用linux 环境变量呢?
PS:这是不可能的os:getenv()
,构建失败:
erlang - 无法在引导文件中展开 $ERTS_LIB_DIR
我使用 rebar3 创建了一个版本,但在远程服务器上运行/启动应用程序时遇到问题。
当我运行以下命令时:
我收到以下错误:
我究竟做错了什么?