Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Speaker here, funny this got picked up by HN over a year after my talk.

Why makes you think LuaRocks is not the best package manager for Lua? As far as I can tell, it is.

Things have changed since last year, too! My suggestion of slide 40 ("programmatic releases for LuaRocks") has been implemented by merging with MoonRocks, which is now the official source for packages.

This has accelerated the rate of packaging: as of today there are over 500 packages available.

That being said, if you want to make things better there sure are lot of things that could be done. If you want to contribute the best place to reach the community is probably the lua-l mailing list and the more specific luarocks-developers mailing list.



Oh, thanks for a prompt response! I personally got stuck with LuaRocks and cross-compilation for our MIPS board. Probably it was lack of documentation or lack of my knowledge. So instead I manually crafted most of the packages we needed either from scratch or by writing custom makefiles for existing ones (that was more than a year ago).

The whole idea of rockspec looks very nice to me and I totally support it.

But can I keep a global aka system rocktree and a per-project local trees? (Pardon my ignorance, I really don't know that). Per-project trees make deployment a lot easier.

Also, why can't "luarocks" or "moonrocks" be a single executable/script? Isn't it easier to get user just a download link instead of: "download it here, unpack, configure, make build, make install, now use it to install moonrocks"? (Also, I'm not saying that it's a very complex procedure, I know most people can do it easily, but that leaves an impression that the LuaRocks project is not very user-friendly).


Note: I am not the author of LuaRocks (https://news.ycombinator.com/user?id=hisham_hm is), just a user.

Regarding distribution, what OS are you talking about? LuaRocks is available in Homebrew for OS X and as a package in most Linux distributions. Windows build looks a bit more painful but I don't have experience with that OS.

Regarding per project trees, there is no such thing as what exists in Python with virtualenv, but you can certainly do this:

    $ mkdir my_project
    $ cd my_project
    $ mkdir rocks
    $ luarocks-5.2 --tree="./rocks" install haricot
This will install the latest version of Haricot and all its dependencies (in this case LuaSocket) in the local tree regardless of whether you have them system-wide. Note that you can change this behavior (http://luarocks.org/en/Dependencies) but the default dependency mode is "one".


LuaRocks dev here, thank you for the feedback!

> But can I keep a global aka system rocktree and a per-project local trees? (Pardon my ignorance, I really don't know that). Per-project trees make deployment a lot easier.

Yes, catwell's comment expanded on it below.

> Also, why can't "luarocks" or "moonrocks" be a single executable/script?

The documentation on the website is outdated. Nowadays the "luarocks" command has absorbed the functionality of the "moonrocks" script. Just use "luarocks upload foo-1.0-1.rockspec".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: