4 ms·
Because then you'd need to ship binaries for every conceivable platform that your gem could be used on You don't. You ship binaries for the top 2-3 platforms a
by sid0 16y ago
Because then you'd need to ship binaries for every conceivable platform that your gem could be used on
You don't. You ship binaries for the top 2-3 platforms and provide source for the rest. That's how open source projects have been doing things for ages.
and you'd need to make some pretty fundamental changes to the whole Ruby gem distribution system
Meh, it isn't insurmountable.
- k33l0r 16y agoYou ship binaries for the top 2-3 platforms and provide source for the rest. I wish it were that simple, but then you also have to worry about library versions (unless you really want to bundle all your dependencies too, bloating your little library from 10KiB to tens of megabytes, or more). Also see this reply: http://news.ycombinator.com/item?id=2311455 http://news.ycombinator.com/item?id=2311455 Meh, it isn't insurmountable. Yeah, because forcing a huge infrastructure change is what we want to do for the sake of having poor GCC distribution on OS X.
- wrs 16y agoYou have to deal with dependencies already. In fact, today you have to compile the dependencies. Why isn't downloading their binaries a simpler way to do it? Whenever I type "{brew,port} install X" I spend the next few minutes watching a compile and muttering "why? why? why?".
- marshray 16y agoYou have N packages and M platforms. For a well-organized ruby gems system, they're largely orthogonal (N + M resources). Per-platform binaries expend resources proportional to the cross product (NM resources). You also have to set up and maintain automated build systems for every platform and they form a whole additional set of dependencies for shipping every little point release. Avoid it whenever possible. edit: I always did think N should come before M
- bluesnowmonkey 16y ago> tens of megabytes Is that supposed to be a lot?