luarocks lyaml 安装错误
luarocks lyaml installation error
在 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?
每当您收到 LuaRocks 消息说 you may have to install ____ in your system
时,这意味着 rockspec 有一个 external dependency。
正在安装外部依赖项
满足这种依赖性的方法是使用系统的适当方式安装包:如果使用 Debian/Ubuntu,使用 apt-get
,如果使用 macOS,可能使用 Homebrew等
请注意,对于构建代码,在具有 dev packages 概念的系统中,例如大多数 Linux 发行版,您需要同时安装主库包和开发包(其中包含header 个文件进行编译)。例如,对于 Debian/Ubuntu,要满足此依赖关系,您需要 运行 apt-get install libyaml libyaml-dev
.
不幸的是,名称在系统和发行版之间并不完全一致:一个模块在一个系统中可能被称为 ncurses-dev
,在另一个系统中可能被称为 libncurses6w-dev
,等等。所以在你的特定情况下你会必须在您的系统中搜索 YAML 库(提供 libyaml 的包)的正确名称。
安装外部依赖项后...
使用系统包管理器安装库通常会在 LuaRocks 自动检测到的位置安装必要的文件,因此 运行ning
luarocks install lyaml
再次找到 libyaml 文件并继续安装。
如果外部依赖项安装在 non-standard 位置
如果失败,您可以找到安装库 (libyaml.so
) 和 header (yaml.h
) 的目录并告诉 LuaRocks。例如,如果 libyaml.so 安装在某些 non-standard 位置,例如 /opt/lib/yaml/libyaml.so
和 /opt/include/yaml-1/yaml.h
中的 header,您可以这样做:
luarocks install lyaml YAML_LIBDIR=/opt/lib/yaml/ YAML_INCDIR=/opt/include/yaml-1/
当系统在子目录中安装 headers 或库时,就会出现这种情况。例如,对于使用 OpenSSL 的 Mac 上的 LuaSec,有时需要使用这样的路径名:
luarocks install luasec OPENSSL_INCDIR=/usr/local/opt/openssl/include OPENSSL_LIBDIR=/usr/local/opt/openssl/lib
在 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?
每当您收到 LuaRocks 消息说 you may have to install ____ in your system
时,这意味着 rockspec 有一个 external dependency。
正在安装外部依赖项
满足这种依赖性的方法是使用系统的适当方式安装包:如果使用 Debian/Ubuntu,使用 apt-get
,如果使用 macOS,可能使用 Homebrew等
请注意,对于构建代码,在具有 dev packages 概念的系统中,例如大多数 Linux 发行版,您需要同时安装主库包和开发包(其中包含header 个文件进行编译)。例如,对于 Debian/Ubuntu,要满足此依赖关系,您需要 运行 apt-get install libyaml libyaml-dev
.
不幸的是,名称在系统和发行版之间并不完全一致:一个模块在一个系统中可能被称为 ncurses-dev
,在另一个系统中可能被称为 libncurses6w-dev
,等等。所以在你的特定情况下你会必须在您的系统中搜索 YAML 库(提供 libyaml 的包)的正确名称。
安装外部依赖项后...
使用系统包管理器安装库通常会在 LuaRocks 自动检测到的位置安装必要的文件,因此 运行ning
luarocks install lyaml
再次找到 libyaml 文件并继续安装。
如果外部依赖项安装在 non-standard 位置
如果失败,您可以找到安装库 (libyaml.so
) 和 header (yaml.h
) 的目录并告诉 LuaRocks。例如,如果 libyaml.so 安装在某些 non-standard 位置,例如 /opt/lib/yaml/libyaml.so
和 /opt/include/yaml-1/yaml.h
中的 header,您可以这样做:
luarocks install lyaml YAML_LIBDIR=/opt/lib/yaml/ YAML_INCDIR=/opt/include/yaml-1/
当系统在子目录中安装 headers 或库时,就会出现这种情况。例如,对于使用 OpenSSL 的 Mac 上的 LuaSec,有时需要使用这样的路径名:
luarocks install luasec OPENSSL_INCDIR=/usr/local/opt/openssl/include OPENSSL_LIBDIR=/usr/local/opt/openssl/lib