> The ruby_select portile just has:
> 
> destroot {
>       select::install ruby ${filespath}/base
>       select::install ruby ${filespath}/none
> }
> 
> which does not redirect the commands “ruby” or “gem” to the appropriate 
> version when you have installed the port “ruby27” for example. Instead, 
> “which ruby” or “which gem” always finds the Apple version of Ruby, which is 
> now deprecated according to the Catalina Release Notes…

Hmmm, it’s working fine for me.

Starting from the default case, where nothing has been selected yet:

$ ll $(which ruby)
-r-xr-xr-x  1 root  wheel  restricted,compressed   51K Jul  9 18:40:13 2020 
/usr/bin/ruby
$ ll $(which gem)
-r-xr-xr-x  1 root  wheel  restricted,compressed  596B Jul 15 17:58:00 2017 
/usr/bin/gem

After selecting ruby30:

$ sudo port select ruby ruby30
Selecting 'ruby30' for 'ruby' succeeded. 'ruby30' is now active.
$ ll $(which ruby)
lrwxr-xr-x  1 root  admin  -   22B Oct  3 09:54:35 2021 /opt/local/bin/ruby -> 
/opt/local/bin/ruby3.0
$ ll $(which gem)
lrwxr-xr-x  1 root  admin  -   21B Oct  3 09:54:35 2021 /opt/local/bin/gem -> 
/opt/local/bin/gem3.0

After selecting ruby27:

$ sudo port select ruby ruby27
Selecting 'ruby27' for 'ruby' succeeded. 'ruby27' is now active.
$ ll $(which ruby)
lrwxr-xr-x  1 root  admin  -   22B Oct  3 09:55:14 2021 /opt/local/bin/ruby -> 
/opt/local/bin/ruby2.7
$ ll $(which gem)
lrwxr-xr-x  1 root  admin  -   21B Oct  3 09:55:14 2021 /opt/local/bin/gem -> 
/opt/local/bin/gem2.7

And finally, after reverting back to no selection:

$ sudo port select ruby none
Selecting 'none' for 'ruby' succeeded. 'none' is now active.
$ ll $(which ruby)
-r-xr-xr-x  1 root  wheel  restricted,compressed   51K Jul  9 18:40:13 2020 
/usr/bin/ruby
$ ll $(which gem)
-r-xr-xr-x  1 root  wheel  restricted,compressed  596B Jul 15 17:58:00 2017 
/usr/bin/gem

So this isn’t working for you on macOS Catalina…?

Reply via email to