Luarocks: 安装 lyaml 库


一、安装 Lua

下载:

http://www.lua.org/download.html
http://www.lua.org/ftp/lua-5.3.5.tar.gz

a.上传到 $HOME 中,解压缩

[test1280@localhost ~]$ ls -l
total 300
drwxr-xr-x. 4 test1280 test1280     58 Jun 26  2018 lua-5.3.5
-rw-r--r--. 1 test1280 test1280 303543 Jun 10 08:35 lua-5.3.5.tar.gz

b.编译 & 安装

[test1280@localhost ~]$ cd lua-5.3.5/ && make linux && make install INSTALL_TOP=$HOME/lua

PS:

报错时:

gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lua.o lua.c
lua.c:82:10: fatal error: readline/readline.h: No such file or directory#include <readline/readline.h>^~~~~~~~~~~~~~~~~~~~~

执行:

[root@localhost ~]# yum install -y readline-devel

重新执行上述命令,完成编译&安装。

[test1280@localhost ~]$ cd lua-5.3.5/ && make linux && make install INSTALL_TOP=$HOME/lua

完成后,已安装lua到$HOME/lua中。

[test1280@localhost ~]$ ll
total 300
drwxrwxr-x. 7 test1280 test1280     67 Jun 10 10:12 lua
drwxr-xr-x. 4 test1280 test1280     58 Jun 10 10:07 lua-5.3.5
-rw-r--r--. 1 test1280 test1280 303543 Jun 10 08:35 lua-5.3.5.tar.gz

c.更新环境变量,并退出重新登陆主机(使环境变量生效):

[test1280@localhost ~]$ echo 'export PATH=$HOME/lua/bin:$PATH' >> $HOME/.bash_profile

二、安装luarocks

下载:

https://github.com/luarocks/luarocks/wiki/Download
http://luarocks.org/releases/luarocks-3.3.1.tar.gz

a.上传到 $HOME 中,解压缩

[test1280@localhost ~]$ tar zxf luarocks-3.3.1.tar.gz
[test1280@localhost ~]$ ll
total 540
drwxrwxr-x. 7 test1280 test1280     67 Jun 10 10:12 lua
drwxr-xr-x. 4 test1280 test1280     58 Jun 10 10:07 lua-5.3.5
-rw-r--r--. 1 test1280 test1280 303543 Jun 10 08:35 lua-5.3.5.tar.gz
drwxr-xr-x. 5 test1280 test1280   4096 Feb  7 05:24 luarocks-3.3.1
-rw-r--r--. 1 test1280 test1280 241636 Jun  9 02:01 luarocks-3.3.1.tar.gz

b.编译 & 安装

[test1280@localhost ~]$ cd luarocks-3.3.1/ && ./configure --prefix=$HOME/luarocks --with-lua=$HOME/lua && make && make install

完成后,已安装luarocks到$HOME/luarocks中。

[test1280@localhost ~]$ ll
total 540
drwxrwxr-x. 7 test1280 test1280     67 Jun 10 10:12 lua
drwxr-xr-x. 4 test1280 test1280     58 Jun 10 10:07 lua-5.3.5
-rw-r--r--. 1 test1280 test1280 303543 Jun 10 08:35 lua-5.3.5.tar.gz
drwxrwxr-x. 5 test1280 test1280     41 Jun 10 10:22 luarocks
drwxr-xr-x. 8 test1280 test1280   4096 Jun 10 10:22 luarocks-3.3.1
-rw-r--r--. 1 test1280 test1280 241636 Jun  9 02:01 luarocks-3.3.1.tar.gz

c.更新环境变量,并退出重新登陆主机(使环境变量生效):

[test1280@localhost ~]$ echo 'export PATH=$HOME/luarocks/bin:$PATH' >> $HOME/.bash_profile

三、安装libyaml库

lyaml库会依赖于libyaml库,因此,要先安装libyaml库。

下载:

https://pyyaml.org/wiki/LibYAML
http://pyyaml.org/download/libyaml/yaml-0.2.5.tar.gz

a.上传到 $HOME 中,解压缩

[test1280@localhost ~]$ ll
total 628
drwxrwxr-x. 11 test1280 test1280   4096 Jun  1 17:19 libyaml-0.2.5
-rw-r--r--.  1 test1280 test1280  85055 Jun 10 09:11 libyaml-0.2.5.tar.gz
drwxrwxr-x.  7 test1280 test1280     67 Jun 10 10:12 lua
drwxr-xr-x.  4 test1280 test1280     58 Jun 10 10:07 lua-5.3.5
-rw-r--r--.  1 test1280 test1280 303543 Jun 10 08:35 lua-5.3.5.tar.gz
drwxrwxr-x.  5 test1280 test1280     41 Jun 10 10:22 luarocks
drwxr-xr-x.  8 test1280 test1280   4096 Jun 10 10:22 luarocks-3.3.1
-rw-r--r--.  1 test1280 test1280 241636 Jun  9 02:01 luarocks-3.3.1.tar.gz

b.编译 & 安装

[test1280@localhost ~]$ cd libyaml-0.2.5/ && ./bootstrap && ./configure --prefix=$HOME/libyaml && make && make install

PS:

报错1:

./bootstrap: line 3: exec: autoreconf: not found

解决1:

[root@localhost ~]# yum install -y automake

报错2:

configure.ac:56: error: possibly undefined macro: AC_PROG_LIBTOOLIf this token and others are legitimate, please use m4_pattern_allow.See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1

解决2:

[root@localhost ~]# yum install -y libtool

重新执行上述命令,完成编译&安装。

[test1280@localhost ~]$ cd libyaml-0.2.5/ && ./bootstrap && ./configure --prefix=$HOME/libyaml && make && make install

完成后,已安装libyaml到$HOME/libyaml中。

[test1280@localhost ~]$ ll
total 628
drwxrwxr-x.  4 test1280 test1280     32 Jun 10 10:31 libyaml
drwxrwxr-x. 13 test1280 test1280   4096 Jun 10 10:30 libyaml-0.2.5
-rw-r--r--.  1 test1280 test1280  85055 Jun 10 09:11 libyaml-0.2.5.tar.gz
drwxrwxr-x.  7 test1280 test1280     67 Jun 10 10:12 lua
drwxr-xr-x.  4 test1280 test1280     58 Jun 10 10:07 lua-5.3.5
-rw-r--r--.  1 test1280 test1280 303543 Jun 10 08:35 lua-5.3.5.tar.gz
drwxrwxr-x.  5 test1280 test1280     41 Jun 10 10:22 luarocks
drwxr-xr-x.  8 test1280 test1280   4096 Jun 10 10:22 luarocks-3.3.1
-rw-r--r--.  1 test1280 test1280 241636 Jun  9 02:01 luarocks-3.3.1.tar.gz

c.更新环境变量,并退出重新登陆主机(使环境变量生效):

[test1280@localhost ~]$ echo 'export LD_LIBRARY_PATH=$HOME/libyaml/lib:$LD_LIBRARY_PATH' >> $HOME/.bash_profile

四、安装lyaml库

a.联公网,通过luarocks包管理器下载:

[test1280@localhost ~]$ luarocks install lyaml

报错:

[test1280@localhost ~]$ luarocks install lyaml
Installing https://luarocks.org/lyaml-6.2.5-1.src.rockError: Could not find library file for YAMLNo file libyaml.a in /usr/local/libNo file libyaml.a in /usr/local/lib64No file libyaml.so in /usr/local/libNo file libyaml.so in /usr/local/lib64No file matching libyaml.so.* in /usr/local/libNo file matching libyaml.so.* in /usr/local/lib64No file libyaml.a in /usr/libNo file libyaml.a in /usr/lib64No file libyaml.so in /usr/libNo file libyaml.so in /usr/lib64No file matching libyaml.so.* in /usr/libNo file matching libyaml.so.* in /usr/lib64No file libyaml.a in /libNo file libyaml.a in /lib64No file libyaml.so in /libNo file libyaml.so in /lib64No file matching libyaml.so.* in /libNo file matching libyaml.so.* in /lib64
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

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

重新执行YAML_DIR为刚安装的libyaml库:

[test1280@localhost ~]$ luarocks install lyaml YAML_DIR=$HOME/libyaml

安装成功:

[test1280@localhost ~]$ luarocks show lyamllyaml 6.2.5-1 - libYAML binding for LuaRead and write YAML format files with Lua.License:        MIT/X11
Homepage:       http://github.com/gvvaughan/lyaml
Installed in:   /home/test1280/luarocksModules:lyaml.explicit (/home/test1280/luarocks/share/lua/5.3/lyaml/explicit.lua)lyaml.functional (/home/test1280/luarocks/share/lua/5.3/lyaml/functional.lua)lyaml.implicit (/home/test1280/luarocks/share/lua/5.3/lyaml/implicit.lua)lyaml.init (/home/test1280/luarocks/share/lua/5.3/lyaml/init.lua)yaml (/home/test1280/luarocks/lib/lua/5.3/yaml.so)Depends on:lua >= 5.1, < 5.5 (using 5.3-1)

b.不联公网,预先下载lyaml包,本地安装

下载:

https://github.com/gvvaughan/lyaml/releases
https://github.com/gvvaughan/lyaml/archive/v6.2.5.tar.gz

上传到 $HOME 中,解压缩:

[test1280@localhost ~]$ ll
total 676
drwxrwxr-x.  4 test1280 test1280     32 Jun 10 10:31 libyaml
drwxrwxr-x. 13 test1280 test1280   4096 Jun 10 10:30 libyaml-0.2.5
-rw-r--r--.  1 test1280 test1280  85055 Jun 10 09:11 libyaml-0.2.5.tar.gz
drwxrwxr-x.  7 test1280 test1280     67 Jun 10 10:12 lua
drwxr-xr-x.  4 test1280 test1280     58 Jun 10 10:07 lua-5.3.5
-rw-r--r--.  1 test1280 test1280 303543 Jun 10 08:35 lua-5.3.5.tar.gz
drwxrwxr-x.  6 test1280 test1280     52 Jun 10 10:36 luarocks
drwxr-xr-x.  8 test1280 test1280   4096 Jun 10 10:22 luarocks-3.3.1
-rw-r--r--.  1 test1280 test1280 241636 Jun  9 02:01 luarocks-3.3.1.tar.gz
drwxrwxr-x.  7 test1280 test1280    228 Apr 15 15:31 lyaml-6.2.5
-rw-r--r--.  1 test1280 test1280  48782 Jun  9 05:14 lyaml-6.2.5.tar.gz

通过lyaml包安装:

[test1280@localhost ~]$ cd lyaml-6.2.5/ && luarocks make YAML_DIR=$HOME/libyaml

注意,在这种情况下,当系统中没有libyaml库时,也需要指定变量YAML_DIR到命令行中。

c.更新环境变量,并退出重新登陆主机(使环境变量生效):

[test1280@localhost ~]$ luarocks path
export LUA_PATH='/home/test1280/luarocks/share/lua/5.3/?.lua;/usr/local/share/lua/5.3/?.lua;/usr/local/share/lua/5.3/?/init.lua;/usr/local/lib/lua/5.3/?.lua;/usr/local/lib/lua/5.3/?/init.lua;./?.lua;./?/init.lua;/home/test1280/.luarocks/share/lua/5.3/?.lua;/home/test1280/.luarocks/share/lua/5.3/?/init.lua;/home/test1280/luarocks/share/lua/5.3/?/init.lua'
export LUA_CPATH='/usr/local/lib/lua/5.3/?.so;/usr/local/lib/lua/5.3/loadall.so;./?.so;/home/test1280/.luarocks/lib/lua/5.3/?.so;/home/test1280/luarocks/lib/lua/5.3/?.so'
export PATH='/home/test1280/.luarocks/bin:/home/test1280/lua/bin:/home/test1280/luarocks/bin:/home/test1280/.local/bin:/home/test1280/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin'

将 LUA_PATH、LUA_CPATH、PATH 写入到 $HOME/.bash_profile 中:

[test1280@localhost ~]$ cat $HOME/.bash_profile
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programs
export PATH=$HOME/luarocks/bin:$PATH
export PATH=$HOME/lua/bin:$PATH
export LD_LIBRARY_PATH=$HOME/libyaml/lib:$LD_LIBRARY_PATH
export LUA_PATH='/home/test1280/luarocks/share/lua/5.3/?.lua;/usr/local/share/lua/5.3/?.lua;/usr/local/share/lua/5.3/?/init.lua;/usr/local/lib/lua/5.3/?.lua;/usr/local/lib/lua/5.3/?/init.lua;./?.lua;./?/init.lua;/home/test1280/.luarocks/share/lua/5.3/?.lua;/home/test1280/.luarocks/share/lua/5.3/?/init.lua;/home/test1280/luarocks/share/lua/5.3/?/init.lua'
export LUA_CPATH='/usr/local/lib/lua/5.3/?.so;/usr/local/lib/lua/5.3/loadall.so;./?.so;/home/test1280/.luarocks/lib/lua/5.3/?.so;/home/test1280/luarocks/lib/lua/5.3/?.so'
export PATH='/home/test1280/.luarocks/bin:/home/test1280/lua/bin:/home/test1280/luarocks/bin:/home/test1280/.local/bin:/home/test1280/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin'

五、验证

代码:

[test1280@localhost ~]$ cat me.lua lyaml = require "lyaml"for k, v in pairs(lyaml) doprint(k)print(v)
end

运行:

[test1280@localhost ~]$ lua me.lua
_VERSION
yaml library for Lua 5.3 / 6.2.5
null
table: 0x15437c0
dump
function: 0x154afa0
load
function: 0x154b440

Luarocks: 安装 lyaml 库相关推荐

  1. Centos安装GD库

    tar zxvf ncurses-5.6.tar.gz 进入目录 cd ncurses-5.6 生成 makefile文件, 再进一步编译 ./configure --prefix=/usr --wi ...

  2. windows10+Python3.7安装dlib库进行面部标志识别

    dlib 是一个C++库,由戴维斯·金(Davis King) 开发,是用于线程,网络,数值运算,机器学习,计算机视觉和压缩的跨平台软件包,特别强调了极高质量和可移植的代码.dlib的文档也非常出色. ...

  3. 在CentOS 6.3 64bit上安装libunwind库

    libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,32位操作系统不要安装.其中包括用于输出堆栈跟踪的API.用于以编程方式辗转开解堆栈的API以及支持C++异常处理机 ...

  4. Pycharm中如何安装python库

    1首先打开pycharm工具,选择File中的Setting选项,如下图所示 2在打开的setting界面中我们点击python的解释器,你会看到很多导入的第三方库,如下图所示,点击最右边的加号 3在 ...

  5. Python pip安装第三方库的国内镜像

    Python pip 安装第三方库的国内镜像 Windows系统下,一般情况下使用pip在DOS界面安装python第三方库时,经常会遇到超时的问题,导致第三方库无法顺利安装,此时就需要国内镜像源的帮 ...

  6. python 离线下载和安装第三方库 .whl wheel 文件

    python 离线下载和安装第三方库 .whl wheel 文件 下载 .whl 文件 pip download \--only-binary=:all: \ # 对于包以及包的依赖包,都不使用二进制 ...

  7. pip install skimage安装skimage库出错的解决办法

    pip install skimage安装skimage库出错的解决办法 安装skimage库出错 pip install skimage 解决办法: pip install scikit-image

  8. Ubuntu安装Ceres库-安装依赖时报错:E:无法定位软件包 libcxsparse3.1.2_朱国鑫的博客-CSDN博客

    Ubuntu安装Ceres库-安装依赖时报错:E:无法定位软件包 libcxsparse3.1.2_朱国鑫的博客-CSDN博客

  9. LINUX CentOS7安装字体库

    LINUX CentOS7安装字体库 2017年12月26日 17:06:07 q260996583 阅读数:4866更多 个人分类: linux JAVA画图时常用到Font 类对象 这样的对象依赖 ...

  10. ‘pip 安装第三方库速度太慢’的解决办法

    写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 目录 pip 安装第三方库速度太慢 设置方法,以清华镜像源为例: pip 安装第三方库速度太慢 可设置 pip 从国内的 ...

最新文章

  1. Java线程---休眠问题来看并发执行
  2. 在jsp页面里动态生成EL表达式的key
  3. 使用ICSharpCode.TextEditor制作一个语法高亮显示的XML编辑器
  4. loadrunner接口性能测试分享
  5. 想要写出好味道的代码,你需要养成这些好习惯!
  6. wxpython 优秀的界面_wxPython图形用户界面
  7. xamarin android 标签,Xamarin.Android使用教程:Android项目结构
  8. 小米平板2wifi驱动下载_Xiaomi小米随身WiFi驱动下载
  9. matlab数字图像处理-找不同
  10. QTQString(UTF8)数据转GBK
  11. Xposed框架的安装包和卸载包的默认下载路径以及网站下载地址
  12. Win10系统无法安装字体显示字体无效
  13. android 火车购票功能,基于Android的火车票售票系统的设计与实现.doc
  14. 动词ing形式的5种用法_动词-ing形式用法归纳
  15. RCD钳位电路--选管
  16. SQL模糊查询时LIKE怎样跟变量
  17. supermap数据处理
  18. [LeetCode 中等 树]545. 二叉树的边界
  19. TTL,RTT,MSL的定义
  20. 栈和队列---算法题目

热门文章

  1. C语言面试必问的经典问题(纯”gan“货)
  2. SVN 下载与安装(超简单)!!!
  3. 华为手机如何换成鸿蒙,如何将自己的华为手机升级成鸿蒙系统
  4. 概要设计和详细设计(软件)
  5. python移动文件,将一个文件夹里面的文件移动到另一个文件夹
  6. html常用字体代码大全,HTML常用字体代码(HTML is a common font code).doc
  7. 《室内设计软件Sketch Up零初级入门视频教程》
  8. 网易云音乐 网络错误 linux,Linux版网易云音乐播放音乐时无限显示“网络错误”的解决办法...
  9. 网易云音乐服务器code521,网易云音乐scode500是怎么回事 网易云音乐scode502怎么解决...
  10. ul阻燃标准有几个等级_UL阻燃标准