首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >luarocks lyaml安装误差

luarocks lyaml安装误差
EN

Stack Overflow用户
提问于 2018-06-28 16:54:33
回答 1查看 1.3K关注 0票数 3

luarocks install lyaml上,我得到以下错误:

Error: Could not find expected file libyaml.a, or libyaml.so, or libyaml.so.* for YAML -- you may have to install YAML in your system and/or pass YAML_DIR or YAML_LIBDIR to the luarocks command. Example: luarocks install lyaml YAML_DIR=/usr/local

lua版本: 5.1.5

如何在系统中安装YAML以开始使用lyaml rock?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-29 21:13:54

每当您收到一条LuaRocks消息,上面写着you may have to install ____ in your system,就意味着rockspec有一个外部依赖性

安装外部依赖项

满足这种依赖性的方法是使用系统的适当方式安装包:如果使用Debian/Ubuntu,使用apt-get,如果使用macOS,可能使用自制软件等等。

注意,为了构建代码,在具有dev软件包概念的系统中(例如大多数Linux发行版),您需要同时安装主库包和dev包(其中包含用于编译的头文件)。例如,对于Debian/Ubuntu,要满足这种依赖,您需要运行apt-get install libyaml libyaml-dev

不幸的是,这些名称在系统和发行版之间并不完全一致:一个模块在一个系统中可能被称为ncurses-dev,在另一个系统中称为libncurses6w-dev,所以在您的特殊情况下,您必须在您的系统中搜索YAML库的正确名称(提供libyaml的包)。

一旦安装了外部依赖项..。

使用系统包管理器安装库通常会在LuaRocks自动检测到的位置安装必要的文件,因此运行

luarocks install lyaml

同样,应该找到libyaml文件并继续安装。

如果外部依赖项安装在非标准位置上

如果失败,您可以找到安装库(libyaml.so)和标头(yaml.h)的目录,并将其告知LuaRocks。例如,如果libyaml.so安装在一些非标准位置,如/opt/lib/yaml/libyaml.so/opt/include/yaml-1/yaml.h中的标头,您可以这样做:

luarocks install lyaml YAML_LIBDIR=/opt/lib/yaml/ YAML_INCDIR=/opt/include/yaml-1/

这种情况发生在系统在子目录中安装标头或库时。例如,对于使用LuaSec的Mac上的OpenSSL,有时需要使用如下路径名:

luarocks install luasec OPENSSL_INCDIR=/usr/local/opt/openssl/include OPENSSL_LIBDIR=/usr/local/opt/openssl/lib

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51088040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档