Can you kindly provide a one line explanation as to why no Luarocks?
For native libs it's a wild west and success depends a lot on your environment. Sometimes the lib is being built with -Werror and fails if you're using more recent compiler, sometimes include paths are not resolved correctly using pkgconfig or similar and so on.
That way lies npm and left-pad.
Tools encourage behaviors. I avoid tools that encourage behaviors I want to avoid.