如何制作Erlang应用?Cowboy Websocket服务器构建及IntelliJ报错求助
Erlang Cowboy Websocket 服务器构建问题解答
一、./rebar get-deps无反应及缺少make命令的问题
- 先检查rebar脚本权限:执行
chmod +x rebar赋予脚本执行权限,再重新运行./rebar get-deps。 - 验证rebar.config依赖配置:必须在配置文件中正确声明Cowboy依赖,示例如下(适配教程的老版本Cowboy):
若依赖配置缺失或错误,{deps, [ {cowboy, ".*", {git, "git://github.com/ninenines/cowboy.git", {tag, "1.0.0"}}} ]}.get-deps不会执行任何操作。 - 关于
make和make runconsole命令:这些命令需要你手动在项目根目录创建Makefile文件,参考示例内容:
替换all: compile compile: ./rebar compile runconsole: erl -pa ebin deps/*/ebin -s your_app_name startyour_app_name为你项目的应用名称,没有Makefile则无法识别这些命令。
二、IntelliJ构建时的警告问题
警告翻译:erlc: 2: 警告:行为 cowboy_http_handler 未定义
解决方法:
- 确保已通过rebar拉取完整的Cowboy依赖,然后在IntelliJ中添加依赖路径:将
deps/cowboy/include和deps/cowboy/ebin目录加入项目的Erlang依赖库配置中。 - 在你的Erlang模块开头添加头文件引用:
-include_lib("cowboy/include/cowboy.hrl").,让编译器能找到cowboy_http_handler行为的定义。 - 检查IntelliJ的Erlang插件设置,确认项目的库配置已包含Cowboy的相关目录,避免IDE无法解析行为定义。
内容的提问来源于stack exchange,提问作者CSAlex
相关产品推荐
相关产品推荐

