> On 2 Oct 2021, at 6:33 pm, Ryan Schmidt <ryandes...@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.

Reply via email to