ruby

chilli.namesake at gmail.com chilli.namesake at gmail.com
Mon Mar 20 17:09:31 UTC 2023


fixed duplicates when sourcing .bash_profile by clearing PATH before the export command with

PATH=

LOL
ugly, but it works 

> On Mar 20, 2023, at 12:49, chilli.namesake at gmail.com wrote:
> 
> 
> 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/3dbaff91/attachment.htm>


More information about the macports-users mailing list