On Mon, Mar 7, 2016 at 6:33 AM, sebb <seb...@gmail.com> wrote:
> On 7 March 2016 at 00:24, Sam Ruby <ru...@intertwingly.net> wrote:
>> On Sun, Mar 6, 2016 at 6:19 PM, sebb <seb...@gmail.com> wrote:
>>> About half the ruby script files use /usr/bin/ruby and the others use
>>> /usr/bin/ruby1.9.1
>>>
>>> I'm not sure it makes sense to force the use of a specific ruby
>>> version in this way.
>>>
>>> Would it not be better to omit the version suffix, and document the
>>> required ruby version(s) elsewhere?
>>
>> Forcing the version of Ruby was more important on whimsy-vm1 which was
>> based on Ubuntu 12.04.  The default Ruby on 12.04 was Ruby 1.8.7 which
>> was pre-utf-8 days (similar to the Python 2=>3 transition, just less
>> dramatic).
>>
>> whimsy-vm2 is based on Ubuntu 14.04, with
>>
>> $ ls -l /usr/bin/ruby
>> lrwxrwxrwx 1 root root 9 Feb 15  2014 /usr/bin/ruby -> ruby1.9.1
>>
>> So feel free to fix this.
>
> Done.
>
>> At the moment, the passenger/rake applications are running Ruby 2.3.0,
>> which has a better garbage collection mechanism, more suited to long
>> running applications.
>
> It occurs to me now that maybe
>
> A) #!/usr/bin/env ruby [1]
> or
> B) #!/usr/local/bin/ruby
>
> would be better, especially for MacOSX El Capitan which locks down /usr/bin.
> AIUI this is because OSX uses ruby and needs to ensure a consistent
> version, so even though one can in theory update /usr/bin/ruby, it's
> not a good idea.
> There may be other OSes to which this applies.
>
> Option A) requires the appropriate PATH to be set, so this can be vary
> between different environments, making it harder to debug.
> Option B) is simpler to follow and administrate, but less flexible
> (though more flexible than /usr/bin/ruby!)

I'm OK with A, and it works on whimsy-vm2, my Ubuntu machines, and my
Mac machines.

Whereas B doesn't work currently on any of those machines.  It would
require a symlink to be set up.

So... if you want to proceed with A, that's fine with me.  Let's
reserve 'B' for any case where a specific version of Ruby is called
for, e.g., /usr/local/bin/ruby2.3.0.

- Sam Ruby

> S.
> [1] https://en.wikipedia.org/wiki/Env
>
>> - Sam Ruby

Reply via email to