@sir as a Ruby app developer, it seems odd to me that I would find Ruby gems in the Fedora package manager. As a Ruby gem maintainer, I wouldn't want to burden distro maintainers every time I release a new version.
Do distro package managers even have features like version pinning? Seems like the repos are stuck with the major version that was out when the distro was released, and in a fast-moving world like web app development, you'd be hamstrung to old gem or npm versions.
@Paul this comment betrays a lot of ignorance, and I don't have the time to address it all, so I'll just clarify that basically all of your assumptions here are wrong
@Paul in short all of these problems are things that maintainers have thought about and/or are illustrative of problems with the ruby community more so than with distros
@sir fully aware of my ignorance, just remarking that relying on my package manager is so far out of my experience as a web developer (and every fellow dev at every place I've ever worked since 2000), I find it surprising that it's even an option. Every 5 years or so when I look into it, it seems completely untenable, all the "happy path" tooling would have to be discarded and something new written. Doesn't help that 99% off Ruby/JS devs use MacOS...
@sir for example, if I want my app to support a new provider in omniauth that's only available on newer versions of the gem, I'm just stuck for months or years until Centos 7 or Ubuntu 18.04 do their next LTS so I can grab the next major version? I'm genuinely curious here.
@Paul yep, just be patient, or use a distro which moves faster, or use custom package repos to fill in the gaps
@sir what about all the other devs on the team that use MacOS? Homebrew is even worse of a package manager than bundler or yarn, when compared to dnf or apt. They're just expected to use a VM for local dev? I gotta say, using a VM for dev is a horrible experience...
Why's using a VM for dev a horrible experience? I mean, it can eat some RAM from your machine but other than that, you just ssh into it and develop the same way you'd develop on prod.
Also, with VMs you can have shared folders, so you can edit code on the host and only run the buildsystem and application on the VM.
@Paul devs on macOS get what's coming to them. Don't use shitty proprietary OSes.
@valhalla @sir I think the python distro situation is very different from ruby as well, since so much distro tooling is written in python as well, while there's very little ruby. Maintainers understandably focus on python more than ruby, so the packages in ruby are going to be fewer and more out-of-date.
@valhalla @sir A quick check of my Fedora 30 install shows there's 1, 250 `rubygem-*` packages available, out of 10,000 on rubygems.org. The current version of the single most popular gem, `rails` in the distro is 5.2.3, and 5.2.4 was released Nov 27. Rails 6 was released back in August. Our main production app has 318 gem dependencies, 137 are available in Fedora 30, and 37 are the version we need.
Look into Guix. It makes importing language specific packages relatively painless, and dependency conflicts are basically nonexistant, because you only ever actually install what is absolutely needed, everything else is referenced through the store.
As a user, I absolutely loathe how npm/luarocks/etc try to install things globally. Yes, per-user installs still count as global.
A Mastodon instance for Rubyists & friends