|
On 1/2/11 6:38 AM, steve donovan wrote (in Re: Project lead
nominations for standard libraries?):
I know LuaRocks is not as widely used as it could be [1] but it handles the dependency and the delivery problems well. ... [1] It would be interesting to look at the bad experiences people have had with LuaRocks, or reasons for general resistance. I am surprised to hear of general resistance. I thought Rocks were absolutely integral to Lua. I would not say Lua was useless without it. So much so that good and bad experience alike from LuaRocks, I think I plainly register to the general Lua experience. Could this be an argument to make it canonical as it might be conceived so already? And give it a nicer hook? For the experience, I love LuaRocks and usually think it's my fault when it breaks ... but now you mention it. On me it breaks quite often. The following is not to put blame on anyone, Rocks is great and I am indepted to the contributors and would like to thank [snip] here is what the experience can be, to give raw feedback: * Most of the time it works incredulously fast and like a charm. Really good. * And I think one of the best things about LuaRocks is the name. Thank you so much for that statement. Main, and almost 'fatal' issues for me are 'simply': * pcall/pathes * make/compile failure # pcall/pathes * I almost abandoned LuaRocks in the first place for failing to grasp the ease of the require pcall tweak. After it was all sweet and dandy to install, I couldn't figure how to get it included. Took me an hour. I know, 100% my fault, certainly. But there are other imperfect beings out there, some try to use LuaRocks and have a evaluation bias similar to mine of what should work on what premise ... when looking at for stuff for a quick eval what that may be worth learning. Before you go in-depth. In the long run, I hope LuaRocks will be blessed with a smoother hook. I can never remember how that pcall tweek spells out, always need to look it up again. And that gives me a 'less clean feel' to have that line up front. For a reason, see below. Also, when you come to Lua, the possibly idiosyncratic path system of Lua poses a challenge in its own right and that aggravates getting the require for Rocks right, because you have a harder time coping with the right path until you understand you're on to a red herring and all you ever needed was pcall(). # make/compile failure * -fPIC or what it was called. Last time around the only pragmatic way I found to install something exceedingly basic (Kepler filesystem probably) on exceedingly standard Linux (I thought) was to let the LuaRocks 'make' fail, pick up the slack by copy-pasting the failed compiler command in the fail dump, edit the commands and do it again. Then it worked. I would not dare do that for a production environment. But this way at least I could continue deploying a test after loosing another hour I really didn't have in that moment, by trying to do it right, understanding about LuaRocks internals, learning about that compile flag, finding out how the Rocks work, where I could inject that flag, which I had managed to find out once before! --- but failed this time around. It all made for a very bad Lua experience actually, how I couldn't get a very simple program deployed timely. I have no problem admitting to limited knowledge on my part as main cause but that's not the point of Steve's question. I simply expected to be safer than it turned out I was. It ran local, then a road block to put it online, for, what, file attribute access. That was a dent in enthusiasm then for Rocks and by extension, Lua. I am sure there would have been more clever ways and it's all my fault, again, that's not the point. * What I tried to find and could not (and I am not saying its not out there) was a spec for the Rocks format and pathes so I could at least fix it. For whatever reasons (NOT for me not trying) I could not find it, could not even find the Rocks file itself, as it kept being pasted in tmp and then deleted. (Remember, I was not planning on learning on LuaRocks internals but needed to get something done.) So Rocks was just on the one hand not working, on the other a blacker, more sealed box than would have been helpful. Sure there are other ways to shoot yourself in the knee, but the impression of course was that it could be seen as an error to go with LuaRocks in the first place. Let me hedge this post again by saying how great I think LuaRocks is and how deficient my knowledge about it is. And that I do not currently have a problem with it. I can't even recall on what server I did this hack. Because it works so smooth when it works, I will continue to always try Rocks first. It was surprising to have problems with it in the first place somehow. Again, because the promise, as I got it, was ease of use, which is achieved to a high degree. Henning |