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

> The only way out of dependency hell is to disallow it by allowing multiple versions/different configurations of side-by-side packages (...)

Another elegant way, for a more civilized time, is to simply disallow dependencies. If none of your packages has any dependencies, then no dependency hell is ever possible. This is possible and easy with static executables (for binary packages), and by embedding the interpreter of packages written in scripting languages.



Static binaries still have dependencies, they just embed them all into one file. That's not generically possible - as the most trivial example, consider a bash script which runs other executables. If you're trying to solve this problem, you need to actually solve it for all real cases; otherwise your solution breaks down and you're back where you started, in dependency hell.


This: perl ..


App::FatPacker will turn your (pure perl) script and its dependencies into a single file for deployment.

App::staticperl will build a static binary with the perl+C dependencies built in.

A lot of the time, it's better to use a plenv + Carton, mind, but if you want a single file for deployment, that's a solved problem in perl land too and has been for years.




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

Search: