歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 如何配置一套優雅的Lua開發環境

如何配置一套優雅的Lua開發環境

日期:2017/2/28 13:57:01   编辑:Linux教程

討論話題

  • 何為優雅的開發環境
  • 如何部署(本文討論在MacOSX平台,其他平台也一樣適用)
優雅的Lua開發環境

優雅的Lua開發環境至少包含以下幾點:

  • 安裝適合需求的最新穩定版Lua
  • 安裝合適的Lua包管理器(推薦使用Luarocks,安裝見另一文)
  • 源碼安裝(合理的組織安裝目錄,設置環境變量使Lua環境更易用且易於管理)
版本選擇

首先我們要關注當前流行的各種Lua版本(5.1x,5.2x,5.3x),如何選擇我的觀點是根據自己的需求,選擇適合自己的最新穩定版。

我的環境用來做基於Openresty(Openresty是一個Nginx與其Http_lua模塊結合的一個衍生版本)的Web應用開發,Openresty中Lua代碼的執行是通過LuaJit解析和加速,而LuaJit基於Lua5.1x的ABI開發,Openresty官方明確指出使用LuaJit運行Lua代碼是最優方案,所以毋庸置疑Lua5.1x是最適合我的,最新穩定版為Lua5.1.5。

安裝部署

相比brew、apt-get、 yum等安裝方式,我更推薦使用源碼安裝,這樣幫助我們對整個環境細節有更多的認識和把握,合理的組織安裝目錄,結合環境變量的設置,便於使用和管理。

下載並解壓Lua源碼:

wget http://www.lua.org/ftp/lua-5.1.5.tar.gz
tar zxvf lua-5.1.5.tar.gz
cd lua-5.1.5

打開Makefile,可以看到如下信息:

PLAT= none                 #安裝平台,默認平台為none
INSTALL_TOP= /usr/local     #安裝跟目錄,默認為/usr/local

# Convenience platforms targets.    #源碼所支持的平台
PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris

將INSTALL_TOP修改為你既定的安裝目錄後保存

INSTALL_TOP= /usr/local/lua-5.1.5

繼續如下步驟進行安裝:

make macosx         #編譯平台設置為macosx,其他平台直接將macosx替換即可,如make linux
make macosx install  #安裝平台設置為macosx

成功安裝後如下:

 ~/Desktop/ ll /usr/local/lua-5.1.5
total 0
drwxr-xr-x  4 root  wheel   136B 10 19 18:48 bin
drwxr-xr-x  7 root  wheel   238B 10 19 18:48 include
drwxr-xr-x  4 root  wheel   136B 10 19 18:48 lib
drwxr-xr-x  3 root  wheel   102B 10 19 18:48 man
drwxr-xr-x  3 root  wheel   102B 10 19 18:48 share

運行lua -v查看所安裝的Lua版本

 ~/Desktop/ lua -v
zsh: command not found: lua
 ~/Desktop/ ln -sf /usr/local/lua-5.1.5/bin/lua /usr/local/bin/lua
 ~/Desktop/ lua -v
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio

以上安裝目是得到一個Lua可執行文件,優雅之處在於使用源碼安裝,組織安裝目錄使我們更方便的管理Lua環境,今後Lua5.1.5版本相關的ABI、Lua包等將會安裝到安裝目錄下的lib,share路徑下,我們甚至可以定義LUA_PATH=/usr/local/lua-5.1.5來更方便的引用lua.h等做相關模塊開發。

因為指定的安裝目錄/usr/local/lua-5.1.5並不在PATH環境變量下,所以直接執行lua會報command not found: lua,我們這裡使用添加軟連接的方式將可執行文件鏈接到PATH路徑下達到了同樣的效果,也可直接將/usr/local/lua-5.1.5/bin添加到環境變量PATH中。

多版本共存

使用源碼安裝可以天然實現多版本共存

 ~/Desktop/luarocks-2.2.2/ ll /usr/local/lua*
/usr/local/lua:
/usr/local/lua-5.1.5:
/usr/local/lua-5.2.3:
/usr/local/lua-5.3.1:

 // ll /usr/local/bin/lua*
lrwxr-xr-x  1 root  admin    28B 10 19 23:16 /usr/local/bin/lua -> /usr/local/lua-5.1.5/bin/lua
lrwxr-xr-x  1 root  admin    28B 10 20 10:08 /usr/local/bin/lua52 -> /usr/local/lua-5.2.3/bin/lua
lrwxr-xr-x  1 root  admin    28B 10 20 10:12 /usr/local/bin/lua53 -> /usr/local/lua-5.3.1/bin/lua
lrwxr-xr-x  1 root  admin    29B 10 20 10:12 /usr/local/bin/luac -> /usr/local/lua-5.1.5/bin/luac
lrwxr-xr-x  1 root  admin    29B 10 20 10:08 /usr/local/bin/luac52 -> /usr/local/lua-5.2.3/bin/luac
lrwxr-xr-x  1 root  admin    29B 10 20 10:11 /usr/local/bin/luac53 -> /usr/local/lua-5.3.1/bin/luac

Lua 語言 15 分鐘快速入門 http://www.linuxidc.com/Linux/2013-06/86582.htm

Lua程序設計(第2版)中文 PDF http://www.linuxidc.com/Linux/2013-03/81833.htm

Lua程序設計(第二版)閱讀筆記 http://www.linuxidc.com/Linux/2013-03/81834.htm

NetBSD 將支持用 Lua 腳本開發內核組件 http://www.linuxidc.com/Linux/2013-02/79527.htm

CentOS 編譯安裝 Lua LuaSocket http://www.linuxidc.com/Linux/2011-08/41105.htm

Programming In Lua 高清PDF中文版 http://www.linuxidc.com/Linux/2015-05/117362.htm

Lua 的詳細介紹:請點這裡
Lua 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved