如何使luaenv和luarocks正确地一起玩

时间:2016-04-27 08:23:13

标签: lua luarocks

我使用anyenv安装所有脚本语言版本。目前正在将其用于perl plenv,节点ndenv,python pyenv,并且还安装了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) - 所以尝试过按照quick-start guide,例如:

  • 下载资源
  • ./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没有设置正确的路径。 :(

之后:

$ 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安装的lualuaenv版本?

0 个答案:

没有答案