/usr/lib/erlang/lib/eredis/include/eredis.hrl:24:25: type queue() undefined % 24| -type eredis_queue() :: queue(). % | ^ error
时间: 2024-03-13 11:47:40 浏览: 65
这个错误信息表明,在 eredis 库的头文件 eredis.hrl 中,第 24 行定义了一个类型 eredis_queue(),这个类型依赖于 Erlang 的标准库中的 queue() 类型。然而,Erlang 编译器并没有找到 queue() 类型的定义,导致编译失败。
通常情况下,Erlang 的标准库中都会定义常用的数据类型,例如 queue()、list() 等等。因此,这个错误可能是由于你的 Erlang 环境缺少了标准库的某个模块导致的。
你可以尝试在 Erlang shell 中运行以下命令来检查标准库是否已经正确地加载:
```
1> code:ensure_loaded(stdlib).
```
如果标准库没有被正确地加载,你可以手动加载标准库:
```
1> code:load_file(stdlib).
```
如果标准库已经被正确地加载,但是编译 eredis 库仍然失败,你可以尝试重新安装 eredis 库,或者更新 Erlang 的版本。
希望这些信息可以帮助你解决问题。
相关问题
eredis位于/usr/lib/erlang/lib,eredis.app位于/usr/lib/erlang/lib/eredis/ebin
好的,根据你提供的信息,你可以按照以下步骤来加载 eredis 库:
1. 打开 Erlang 的 shell,可以使用以下命令:
```
erl
```
2. 将 eredis 库的路径添加到 Erlang 的代码路径中,可以使用以下命令:
```
code:add_patha("/usr/lib/erlang/lib/eredis/ebin").
```
请根据实际路径修改命令中的路径。
3. 加载 eredis 库,可以使用以下命令:
```
application:start(eredis).
```
如果一切顺利,你应该会看到以下输出:
```
ok
```
现在,你已经成功加载了 eredis 库,并可以在 Erlang 的 shell 中使用它提供的功能了。如果需要使用其它 eredis 库的功能,可以按照相同的步骤进行加载。
1> code:add_patha("/usr/lib/erlang/lib/eredis/ebin").这个是永久添加到Erlang 的代码搜索路径中吗
不是永久添加到 Erlang 的代码搜索路径中,而是将 eredis 库的路径添加到当前 Erlang 节点的代码搜索路径中。这个修改只会在当前 Erlang 节点中生效,并且在下次启动 Erlang 节点时会被重置。
如果你希望将 eredis 库的路径永久添加到 Erlang 的代码搜索路径中,你需要将这个路径添加到 Erlang 的启动脚本中。具体来说,你需要编辑 Erlang 的启动脚本(例如 /usr/local/bin/erl),并在其中添加以下命令:
```
export ERL_LIBS="/usr/lib/erlang/lib/eredis:$ERL_LIBS"
```
其中,/usr/lib/erlang/lib/eredis 是 eredis 库的根目录的路径。这个命令将会将 eredis 库的路径添加到 Erlang 的代码搜索路径中,并且这个修改会在下次启动 Erlang 节点时生效。
请注意,修改 Erlang 的启动脚本可能需要管理员权限。如果你不确定如何修改 Erlang 的启动脚本,请参考 Erlang 的文档或者咨询系统管理员。
阅读全文