On Thu, Oct 18, 2012 at 10:32 AM, Reuben Thomas <[email protected]> wrote:
> Is there a way to require a particular version of a rock in a program?
> It seems there should be, since rocks can do it internally, but I
> can't find anything in the documentation…
You need to use the "luarocks.loader" module, which adds a
LuaRocks-enabled package loader to your require() function. It also
exposes a function called add_context, which allows you to specify a
dependency context. It's a bit clumsy, in which you need to specify an
exact version, with revision (it is mostly used internally by the
loader as it expands dependency, so I made it to be simple and fast)
~] luarocks install stdlib 27
...
~] luarocks install stdlib 25
...
~] eval `luarocks path`
~] lua -e 'require "std"; print(std.version)'
General Lua libraries / 27
~] lua -e 'loader = require"luarocks.loader";
loader.add_context("stdlib", "27-1"); require "std";
print(std.version)'
General Lua libraries / 27
~] lua -e 'loader = require"luarocks.loader";
loader.add_context("stdlib", "25-1"); require "std";
print(std.version)'
General Lua libraries / 25
-- Hisham
http://hisham.hm/
------------------------------------------------------------------------------
WINDOWS 8 is here.
Millions of people. Your app in 30 days.
Visit The Windows 8 Center at Sourceforge for all your go to resources.
http://windows8center.sourceforge.net/
join-generation-app-and-make-money-coding-fast/
_______________________________________________
Luarocks-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/luarocks-developers