Closed acecilia closed 4 years ago
Hi @acecilia. I appreciate the effort here, but it's not really something I'd like to add at this stage. Mint is focused on installing Swift packages and doing that well. The amount of support and maintenance gems would bring is not something I want to deal with. If you'd like to start a new project using MintKit
as a library then go for it! 😄
Hope you understand, thanks
Hey @yonaskolb. I understand your point of view.
From my side, I believe that the feature that this PR introduces is something valuable, not only for swift devs, but for anybody that needs a gem installed globally. The extra support required is not that much: most of the job delegates on the command line tool, and what mint
does, which is linking and managing the versions, is mostly independent on running swift
or gem
.
Anyway, thanks for the great tool!
@yonaskolb do you think it is possible to include this functionality in mint
as a plugin (or similar)? So I can maintain a repo with the plugin, and still allow mint users to opt-in to this functionality?
I recently had one of those days in which after countless hours fighting
gems
,bundle 2.0.0
,global gems
,vendored gems
,gemfile
,gemfile.lock
,RVM
,rbenv
,binstubs
,ruby versions
, the CI server... I gave up. I just wanted a a way to specify a group of gems with a fixed version, and install them in a globally accessible location of my machine or the CI server, without the need of prefixing their invocation withbundle exec
! How complex can it be... 🤦♀️ At some point in the middle of my frustration I came up with the idea that maybeMint
is able to install binary gems, same way it installs swift command line tools.It may be a bit mind cracking that Mint, the swift package manager, supports installing gems. But if you think about it:
swift
) to build the packages. Same way, it may rely ongem
for installing gems.bundle
) do not provide a simple way of installing a group of gems globally (if thebinstubs
were a hacky but possible way to do it, seems like they will be gone in upcoming versions).