我使用anyenv安装所有脚本语言版本。目前将它用于 perl plenv
, node ndenv
, pythonpyenv
并且刚刚安装了luaenv。太好了,因为不会污染系统目录 - 一切都安装到我的用户定义目录中。
luaenv
安装正常,我可以:
$ luaenv install 5.1.5 #installed OK
$ luaenv global 5.1.5 #OK
$ luaenv which lua
/opt/anyenv/envs/luaenv/versions/5.1.5/bin/lua
$ luaenv versions
* 5.1.5 (set by /opt/anyenv/envs/luaenv/version)
$ lua -v
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
看起来一切正常。
当然luarocks
也想安装。不幸的是,它luaenv
本身不提供对安装的支持luarocks
,(例如缺少luaenv install-rocks
perl 的或类似的东西:)plenv install-cpanm
- 所以尝试按照快速入门指南进行操作,例如:
- 下载源
./configure
make build
配置失败并显示有关丢失的消息lua.h
。
Checking Lua includes...
lua.h not found (looked in /opt/anyenv/envs/luaenv/include, /opt/anyenv/envs/luaenv/include/lua/5.1, /opt/anyenv/envs/luaenv/include/lua5.1)
You may want to use the flag --with-lua or --with-lua-include. See --help.
所以,第一个错误:luaenv
is 没有设置正确的路径。:(
之后:
$ find /opt/anyenv/envs/luaenv -name lua.h -print
/opt/anyenv/envs/luaenv/versions/5.1.5/include/lua.h
再次尝试:
$ ./configure --with-lua=/opt/anyenv/envs/luaenv/versions/5.1.5
现在它成功完成了,所以跟着make build
.
检查结果,在src/luarocks/site_config.lua
local site_config = {}
site_config.LUAROCKS_PREFIX=[[/usr/local]]
site_config.LUA_INCDIR=[[/opt/anyenv/envs/luaenv/versions/5.1.5/include]]
site_config.LUA_LIBDIR=[[/opt/anyenv/envs/luaenv/versions/5.1.5/lib]]
site_config.LUA_BINDIR=[[/opt/anyenv/envs/luaenv/versions/5.1.5/bin]]
site_config.LUAROCKS_SYSCONFDIR=[[/usr/local/etc/luarocks]]
site_config.LUAROCKS_ROCKS_TREE=[[/usr/local]]
site_config.LUAROCKS_ROCKS_SUBDIR=[[/lib/luarocks/rocks]]
site_config.LUA_DIR_SET=true
site_config.LUAROCKS_UNAME_S=[[Darwin]]
site_config.LUAROCKS_UNAME_M=[[x86_64]]
site_config.LUAROCKS_DOWNLOADER=[[curl]]
site_config.LUAROCKS_MD5CHECKER=[[md5sum]]
return site_config
这显然是错误的。路径不应该指向,/usr/local
而是指向由luaenv
.
我是一个lua-noob。试图学习它。但我什至无法设置基本环境。:(经过一个小时的谷歌搜索放弃并在这里询问:
如何配置和安装luarocks
以正确使用luaenv
和lua
安装的版本luaenv
?