1

我使用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-rocksperl 的或类似的东西:)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.

所以,第一个错误:luaenvis 没有设置正确的路径。:(

之后:

$ 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以正确使用luaenvlua安装的版本luaenv

4

0 回答 0