Lua的虚拟环境等价于什么?

有没有类似 Python 的 virtualenv 的东西在 Lua 中?

这样我就可以在沙盒环境中安装所有必需的 Lua 模块/石头。这对于测试很有帮助,因为我不会搞砸系统范围的 Lua 模块或另一个 Lua 项目的环境。

看起来 luarocks 很有前途,因为它支持自包含安装。但我很感兴趣是否有像 virtualenv 这样的工具,可以自动创建、维护和切换沙盒环境。

原文链接 https://stackoverflow.com/questions/4358849

点赞
stackoverflow用户298661
stackoverflow用户298661

在 Lua 5.1 中,有一个环境表可以放入全局变量中,然后使用该表作为 _G 来加载字符串或文件,以封装该文件。

2010-12-05 12:54:45
stackoverflow用户400127
stackoverflow用户400127

根据 Lua 文档中的这个页面所述,通过设置 LUA_PATH 环境变量可以很容易地在 Lua 安装之间切换:

要确定 Lua 模块位置,require 函数首先检查全局变量 LUA_PATH。如果 LUA_PATH 的值是字符串,则该字符串即为模块位置。否则,require 函数会检查环境变量 LUA_PATH

[...]

在一个路径中,各组件用分号隔开(在大多数操作系统的文件名中很少使用分号)。例如,如果路径为

?;?.lua;c:\windows\?;/usr/local/lua/?/?.lua

那么调用 require"lili" 将尝试打开以下文件:

lili

lili.lua

c:\windows\lili

/usr/local/lua/lili/lili.lua

2010-12-05 16:52:16
stackoverflow用户221509
stackoverflow用户221509

[存档] 你试过 LuaDist 吗?

它通过使用所谓的“部署”来解决这个问题 - 它是一个单一目录,其中安装了所有依赖项、库(甚至 Lua 解释器),独立于整个系统。

2010-12-05 20:42:44
stackoverflow用户3456066
stackoverflow用户3456066

看起来 vert 就是你需要的。 像 Python 中的 virtualenvwrapper 一样,它允许你定义一个独立的 Lua 环境。 此外,它还可以从 luarocks 获取。

2014-03-24 15:32:07