How to get a developers' package for Ruby
Ian Wadham
iandw.au at gmail.com
Sun Oct 3 10:17:56 UTC 2021
> On 2 Oct 2021, at 6:33 pm, Ryan Schmidt <ryandesign at macports.org> wrote:
>
> On Sep 21, 2021, at 23:49, Ian Wadham wrote:
>
>> I wish to download from the Web a package called CocoaPods, however it needs a developers’ package of Ruby to build it.
>>
>> I am using MacOS Catalina 10.15.7. Apple provides Ruby in this MacOSversion, but will not allow it to be used for building non-Apple apps. They say they are phasing out the use of Ruby in MacOS and Apple Mac apps.
>>
>> Googling around about this problem, all the solutions I have found recommend getting a "ruby-dev" package from Homebrew, but MacPorts, which I use a lot, recommends against mixing MacPorts and Homebrew.
>
> Some other package managers observe a distinction between "runtime" and "development" packages, with the latter having a "-dev" suffix. MacPorts does not observe such a distinction. All packages in MacPorts contain both the runtime and development parts, to the extent that each software package has those parts.
I have since found out that all Ruby packages have facilities for developing programs or running existing programs, including MacPorts’ “ruby” and “ruby$NN” packages. The command “gem” is used to build and install Ruby programs. I have used the “ruby27” port to build and install CocoaPods successfully, I am pleased to say, which was my primary objective.
> MacPorts does have port names with a "-devel" suffix, but they embody a completely unrelated concept. Ports with names not ending with "-devel" are typically for stable versions of software while ports with the "-devel" name suffix are for newer unstable versions.
>
>> Failing that, would it be safe to install Homebrew and its ruby-dev, just for building CocoaPods?
>
> Please choose one package manager and uninstall the other. We do not want to spend time diagnosing problems that were caused by installing software with multiple conflicting package managers.
It turns out that MacPorts Ruby packages do not work “out of the box” because the “ruby_select” port file is not doing its job (see “ruby_select is broken” thread). I used a “port select” command to complete the installation correctly.
Homebrew’s Ruby was recommended on Stack Overflow and elsewhere, but it provides only the latest Ruby. Besides I have other packages I use on MacPorts and won’t be going anywhere else in a hurry. There are also several Ruby installers such as rbenv or RVM, which might have been my next port of call if I had not not gotten a MacPorts’ Ruby installed.
Thanks, Ryan.
Ian Wadham.
More information about the macports-users
mailing list