ruby

Will Senn will.senn at gmail.com
Mon Mar 20 17:54:10 UTC 2023


Ah. Freaky. Whatever works :).

On 3/20/23 12:13 PM, chilli.namesake at gmail.com wrote:
> Also, for whatever reason, Mountain Lion does not source .bash_profile 
> on login. So on that box, I have to source it after I login and 
> whenever I sudo. I guess I could add a script to source it at login, 
> but it's not a big deal.
>
>
>> On Mar 20, 2023, at 13:10, chilli.namesake at gmail.com wrote:
>>
>> 
>> 
>> Really? Do you never edit your .bash_profile to add functions?
>>
>>> On Mar 20, 2023, at 13:01, Will Senn <will.senn at gmail.com> wrote:
>>>
>>> 
>>> bash_profile is executed for login shells, so it shouldn't be 
>>> sourced more than once per login.
>>>
>>> On 3/20/23 11:49 AM, 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 <https://www.linkedin.com/in/markemer/>
>>>>>>>>
>>>>>>>>
>>>>>>>> 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.com>>>>>>>>>>>         austin 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/eb9fb507/attachment.htm>


More information about the macports-users mailing list