ruby

chilli.namesake at gmail.com chilli.namesake at gmail.com
Mon Mar 20 16:49:43 UTC 2023


I was checking. echo $PATH reports correctly. If I source the .bash_profile more than once, however, I get duplicates.

> On Mar 20, 2023, at 12:44, Will Senn <will.senn at gmail.com> wrote:
> 
> 
> Sounds like you should check $PATH before and after the change to see what it's actually doing. Whatever you want to run, say your version of ruby in /some/dir/ruby, needs to appear earlier in the path than the system version, say /usr/bin/ruby... period. It's not rocket science. However, it's not totally straightforward, either. Some updated  command locations require that the shell be rehashed after changing the path cuz the shell may cache the location - hash -r, or equivalent. That said, it's usually pilot error messing with path.
> 
> echo "PATH: $PATH"
> before setting and after to see what's going on. then it's just a matter of figuring out which ruby comes first.
> 
> Will
> 
>> On 3/20/23 11:33 AM, chilli.namesake at gmail.com wrote:
>> This is the only way I can get it to work right without error
>> 
>>> export PATH="$PATH:$HOME/bin:/opt/local/bin:/opt/local/sbin:/opt/local/share/man:/usr/X11/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
>> 
>> 
>> It doesn't like :$PATH at the end
>> 
>> 
>>> On Mar 20, 2023, at 09:27, chilli.namesake at gmail.com wrote:
>>> 
>>> 
>>> I am closer, but my $PATH is still messed up.
>>> 
>>> This in .bash_profile
>>> 
>>>> export PATH=$HOME/bin:/opt/local/bin:/opt/local/sbin:/opt/local/share/man:/usr/X11/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH
>>> 
>>> 
>>> gets me this when I source it
>>> 
>>>> env: bash: No such file or directory
>>>> dude at mac:~/Extra/sand$ echo $PATH
>>>> /Users/dude/bin:/opt/local/bin:/opt/local/sbin:/opt/local/share/man:/usr/X11/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:
>>> 
>>> notice the trailing ":" 
>>> removing it gets me a no such directory error for "/sbin$PATH"
>>> 
>>> 
>>>> On Mar 20, 2023, at 09:04, Mark Anderson <emer at emer.net> wrote:
>>>> 
>>>> 
>>>> Yeah, this is the answer. You always want `/opt/local/bin/` to be near the start of your path. Only stuff that you specifically want to override MacPorts should be before it. (Examples of things you may want before: RVM or NVM or any of the version managers that put things in your home)
>>>> 
>>>> Thanks,
>>>> —Mark
>>>> _______________________
>>>> Mark E. Anderson <emer at emer.net>
>>>> Find me on LinkedIn
>>>> 
>>>> 
>>>> On Sat, Mar 11, 2023 at 5:57 PM Austin Ziegler <halostatue at gmail.com> wrote:
>>>>> Change that to
>>>>> 
>>>>> export PATH=$HOME/bin:/opt/local/bin:/opt/local/sbin:/opt/local/share/man:/usr/X11/bin:$PATH
>>>>> 
>>>>> -a
>>>>> 
>>>>>> On Mar 11, 2023, at 14:03, chilli.namesake at gmail.com wrote:
>>>>>> 
>>>>>> 
>>>>>> Thank you, I will check that
>>>>>> 
>>>>>> I have
>>>>>> 
>>>>>>> export PATH=$PATH:$HOME/bin:/opt/local/bin:/opt/local/sbin:/opt/local/share/man:/usr/X11/bin
>>>>>> 
>>>>>> 
>>>>>> in my .bash_profile, but echo $PATH shows what you expected:
>>>>>> 
>>>>>>> dude at mac:~$ echo $PATH
>>>>>>> /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/dude/bin:/opt/local/bin:/opt/local/sbin...
>>>>>> 
>>>>>> ok, I have something new to work out.
>>>>>> 
>>>>>>> On Mar 11, 2023, at 13:49, Austin Ziegler <halostatue at gmail.com> wrote:
>>>>>>> 
>>>>>>> 
>>>>>>> No problem. The system ruby showing up instead of MacPorts-installed Ruby would be *probably* because your $PATH has `/opt/local/bin` *after* `/usr/bin`. Typically, one wants to have Macports (or other third-party package systems) *before* /usr/local/bin and /usr/bin.
>>>>>>> 
>>>>>>> -a
>>>>>>> 
>>>>>>> On Sat, Mar 11, 2023 at 1:46 PM chilli.namesake at gmail.com <chilli.namesake at gmail.com> wrote:
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> root at mac:~$ ruby -S gem install coltrane
>>>>>>>>> ERROR:  Error installing coltrane:
>>>>>>>>> activesupport requires Ruby version >= 2.7.0.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Unfortunately, Mojave:
>>>>>>>> ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
>>>>>>>> 
>>>>>>>> So I install ruby 2.7.7
>>>>>>>> 
>>>>>>>>> root at mac:~$ port -vsN install ruby27
>>>>>>>>> ....
>>>>>>>>> --->  Cleaning ruby27
>>>>>>>>> --->  Removing work directory for ruby27
>>>>>>>>> --->  Updating database of binaries
>>>>>>>>> --->  Scanning binaries for linking errors
>>>>>>>>> --->  No broken files found.
>>>>>>>>> --->  No broken ports found.
>>>>>>>>> --->  Some of the ports you installed have notes:
>>>>>>>>> ruby27 has the following notes:
>>>>>>>>> To make this the default Ruby (i.e., the version run by the 'ruby', 'gem' or 'bundle' commands), run:
>>>>>>>>> sudo port select --set ruby ruby27
>>>>>>>>> root at mac:~$ port select --set ruby ruby27
>>>>>>>>> Selecting 'ruby27' for 'ruby' succeeded. 'ruby27' is now active.
>>>>>>>>> root at mac:~$ ruby -S gem install coltrane
>>>>>>>>> ERROR:  Error installing coltrane:
>>>>>>>>> activesupport requires Ruby version >= 2.7.0.
>>>>>>>> 
>>>>>>>> grrr... it's still trying to use /usr/bin/ruby
>>>>>>>> 
>>>>>>>> but
>>>>>>>> 
>>>>>>>>> root at mac:~$ /opt/local/bin/ruby -S gem install coltrane
>>>>>>>> 
>>>>>>>> installed it.
>>>>>>>> 
>>>>>>>> idky my ruby $PATH seems stuck on /usr/bin/ruby, but thanks to your tip, I was able to  install coltrane, and it seems to be working. Neato CLI music utility.
>>>>>>>> 
>>>>>>>> Thank you, Austin!
>>>>>>>> 
>>>>>>>>> On Mar 11, 2023, at 13:14, Austin Ziegler <halostatue at gmail.com> wrote:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> I don’t use Macports Ruby (I use `ruby-install`), but try this:
>>>>>>>>> 
>>>>>>>>> sudo ruby -S gem install coltrane
>>>>>>>>> 
>>>>>>>>> Ruby since Ruby 2.x has included Rubygems, and since a bit later than that, Bundler.
>>>>>>>>> 
>>>>>>>>> -a
>>>>>>>>> 
>>>>>>>>> On Sat, Mar 11, 2023 at 1:06 PM chilli.namesake at gmail.com <chilli.namesake at gmail.com> wrote:
>>>>>>>>>> Hi,
>>>>>>>>>> I need a quick ruby primer, please.
>>>>>>>>>> 
>>>>>>>>>> I'd like to install this,
>>>>>>>>>> https://github.com/pedrozath/coltrane
>>>>>>>>>> 
>>>>>>>>>>> sudo gem install coltrane
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> won't work because I'm on Mojave with an an ancient ruby and this requires ruby 2.7 or above.
>>>>>>>>>> 
>>>>>>>>>>> sudo port -vsN install ruby
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> installs ruby18 by default
>>>>>>>>>> 
>>>>>>>>>>> sudo port -vsN install ruby27
>>>>>>>>>>> sudo port select --set ruby ruby27
>>>>>>>>>> 
>>>>>>>>>> installs, but gem still complains.
>>>>>>>>>> 
>>>>>>>>>> just guessing at this point:
>>>>>>>>>>> port -vsN install rb-rubygems
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> reinstalls ruby18 ><
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Help, please.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -- 
>>>>>>>>> Austin Ziegler • halostatue at gmail.comaustin at halostatue.ca
>>>>>>>>> http://www.halostatue.ca/http://twitter.com/halostatue
>>>>>>> 
>>>>>>> 
>>>>>>> -- 
>>>>>>> Austin Ziegler • halostatue at gmail.comaustin at halostatue.ca
>>>>>>> http://www.halostatue.ca/http://twitter.com/halostatue
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-users/attachments/20230320/823943be/attachment.htm>


More information about the macports-users mailing list