[ruby-talk:444489] Why doesn't Ruby offer a more user-friendly installer for macOS?

Hey Ruby geeks:

Why doesn't Ruby offer a more user-friendly installer for macOS?

On Linux, software installation through the package manager is
straightforward and effective. On Windows, Ruby can be easily installed
using the RubyInstaller from rubyinstaller.org, which is also quite
user-friendly.

However, on macOS, the process becomes more cumbersome:

   - Python can be installed via the package from python.org/downloads
   <https://www.python.org/downloads/&gt;\.
   - Java is made accessible through a .dmg file available at
   java.com/en/download <https://www.java.com/en/download/&gt;\.

In contrast, installing Ruby requires a preliminary step of installing
Homebrew, as directed on ruby-lang.org
<Installing Ruby. After
Homebrew is set up, users must then add libraries and compile Ruby from the
source code, which can be a daunting task for many.

This complexity can be a barrier for users. For instance, if you've
developed a Ruby-based game prototype, explaining how to set it up on a new
machine without pre-installed Ruby is challenging. On the other hand,
installing Java to play a game like Minecraft is a much simpler process for
end-users.

Maybe they assume you'll package ruby with your app?

···

On Mon, May 27, 2024 at 2:25 AM Mark Zhang via ruby-talk <ruby-talk@ml.ruby-lang.org> wrote:

Hey Ruby geeks:

Why doesn't Ruby offer a more user-friendly installer for macOS?

On Linux, software installation through the package manager is straightforward and effective. On Windows, Ruby can be easily installed using the RubyInstaller from rubyinstaller.org, which is also quite user-friendly.

However, on macOS, the process becomes more cumbersome:

Python can be installed via the package from python.org/downloads.
Java is made accessible through a .dmg file available at java.com/en/download.

In contrast, installing Ruby requires a preliminary step of installing Homebrew, as directed on ruby-lang.org. After Homebrew is set up, users must then add libraries and compile Ruby from the source code, which can be a daunting task for many.

This complexity can be a barrier for users. For instance, if you've developed a Ruby-based game prototype, explaining how to set it up on a new machine without pre-installed Ruby is challenging. On the other hand, installing Java to play a game like Minecraft is a much simpler process for end-users.

______________________________________________
ruby-talk mailing list -- ruby-talk@ml.ruby-lang.org
To unsubscribe send an email to ruby-talk-leave@ml.ruby-lang.org
ruby-talk info -- Info | ruby-talk@ml.ruby-lang.org - ml.ruby-lang.org

______________________________________________
ruby-talk mailing list -- ruby-talk@ml.ruby-lang.org
To unsubscribe send an email to ruby-talk-leave@ml.ruby-lang.org
ruby-talk info -- Info | ruby-talk@ml.ruby-lang.org - ml.ruby-lang.org

I just use RVM (Ruby enVironment Manager) on the Mac, which makes
installing Ruby convenient via a single command (like `rvm install
ruby-3.1.0`).

https://rvm.io/

It is common for Ruby developers to use a tool like RVM for installing Ruby
on the Mac, which makes installing Ruby convenient on the Mac.

···

On Mon, May 27, 2024 at 3:55 PM Roger Pack via ruby-talk < ruby-talk@ml.ruby-lang.org> wrote:

Maybe they assume you'll package ruby with your app?

On Mon, May 27, 2024 at 2:25 AM Mark Zhang via ruby-talk > <ruby-talk@ml.ruby-lang.org> wrote:
>
> Hey Ruby geeks:
>
> Why doesn't Ruby offer a more user-friendly installer for macOS?
>
> On Linux, software installation through the package manager is
straightforward and effective. On Windows, Ruby can be easily installed
using the RubyInstaller from rubyinstaller.org, which is also quite
user-friendly.
>
> However, on macOS, the process becomes more cumbersome:
>
> Python can be installed via the package from python.org/downloads.
> Java is made accessible through a .dmg file available at
java.com/en/download.
>
> In contrast, installing Ruby requires a preliminary step of installing
Homebrew, as directed on ruby-lang.org. After Homebrew is set up, users
must then add libraries and compile Ruby from the source code, which can be
a daunting task for many.
>
> This complexity can be a barrier for users. For instance, if you've
developed a Ruby-based game prototype, explaining how to set it up on a new
machine without pre-installed Ruby is challenging. On the other hand,
installing Java to play a game like Minecraft is a much simpler process for
end-users.
>
> ______________________________________________
> ruby-talk mailing list -- ruby-talk@ml.ruby-lang.org
> To unsubscribe send an email to ruby-talk-leave@ml.ruby-lang.org
> ruby-talk info --
Info | ruby-talk@ml.ruby-lang.org - ml.ruby-lang.org
______________________________________________
ruby-talk mailing list -- ruby-talk@ml.ruby-lang.org
To unsubscribe send an email to ruby-talk-leave@ml.ruby-lang.org
ruby-talk info --
Info | ruby-talk@ml.ruby-lang.org - ml.ruby-lang.org

--
Andy Maleh

LinkedIn: Andy Maleh - Lexop | LinkedIn
<https://www.linkedin.com/in/andymaleh&gt;
Blog: http://andymaleh.blogspot.com
GitHub: AndyObtiva (Andy Maleh) · GitHub
Twitter: @AndyObtiva <x.com;

Where do you see this? I see that it points out that you already have ruby, and suggests for a newer version to install homebrew and then running `brew install ruby`. No dependencies, no building from source.

···

On May 27, 2024, at 01:24, Mark Zhang via ruby-talk <ruby-talk@ml.ruby-lang.org> wrote:
In contrast, installing Ruby requires a preliminary step of installing Homebrew, as directed on ruby-lang.org <Installing Ruby. After Homebrew is set up, users must then add libraries and compile Ruby from the source code, which can be a daunting task for many.

From the perspective of a developer, Homebrew is indeed very convenient.
However, when I want to distribute Ruby-made games or GUI programs, I find
it hard to imagine how to convince the other party to configure everything
step by step without making mistakes.

This makes me feel that Brew is not good enough. Perhaps for those who just
want to run Ruby, a dmg/pkg would be enough, just as Java and Python are
doing.

Ryan Davis via ruby-talk <ruby-talk@ml.ruby-lang.org> 于2024年5月28日周二 05:42写道:

···

On May 27, 2024, at 01:24, Mark Zhang via ruby-talk < > ruby-talk@ml.ruby-lang.org> wrote:

In contrast, installing Ruby requires a preliminary step of installing
Homebrew, as directed on ruby-lang.org
<Installing Ruby.
After Homebrew is set up, users must then add libraries and compile Ruby
from the source code, which can be a daunting task for many.

Where do you see this? I see that it points out that you already have
ruby, and suggests for a newer version to install homebrew and then running
`brew install ruby`. No dependencies, no building from source.

______________________________________________
ruby-talk mailing list -- ruby-talk@ml.ruby-lang.org
To unsubscribe send an email to ruby-talk-leave@ml.ruby-lang.org
ruby-talk info --
Info | ruby-talk@ml.ruby-lang.org - ml.ruby-lang.org

From the perspective of a developer, Homebrew is indeed very convenient.
However, when I want to distribute Ruby-made games or GUI programs, I find
it hard to imagine how to convince the other party to configure everything
step by step without making mistakes.

This makes me feel that Brew is not good enough. Perhaps for those who
just want to run Ruby, a dmg/pkg would be enough, just as Java and Python
are doing.

If you want to distribute games or GUI apps written in Ruby, bundle Ruby
with your app. Trusting that a user's Ruby installation is compatible with
your game or app is foolishly risky. There are things about how Ruby works
which makes that non-trivial (especially if the app is installed in
~/Applications instead of /Applications), but that's true of pretty much
anything with dylibs.

Python is a reasonable example of a language ecosystem that provides a
package build, but it provides **far more** than just the framework
(installed into /Library) and binaries (installed into /usr/local/bin), but
also (importantly) IDLE.app (a Tk program). Ruby does not have something
like IDLE, so it doesn't really need it.

Java is an entirely different example, as what most people need is the JRE
just to run the (very few remaining) Java Desktop programs (and some of
those offer two downloads: with and without).

Ruby doesn't **need** a .pkg installer. I suspect that if someone stepped
up and volunteered to build it and maintain it (and ensure that the
resulting packages are signed and all), there might be interest in it. Far
more likely, there would be interest that you hosted (like
https://rubyinstaller.org for Windows) and would link to it from
ruby-lang.org.

Simply complaining that Ruby doesn't have a pkg installer isn't useful, and
comparing what Ruby does for this in comparison to other languages or
runtimes doesn't help without understanding the contexts involved.

-a

···

On Tue, May 28, 2024 at 8:21 AM Mark Zhang via ruby-talk < ruby-talk@ml.ruby-lang.org> wrote:

Ryan Davis via ruby-talk <ruby-talk@ml.ruby-lang.org> 于2024年5月28日周二
05:42写道:

On May 27, 2024, at 01:24, Mark Zhang via ruby-talk < >> ruby-talk@ml.ruby-lang.org> wrote:

In contrast, installing Ruby requires a preliminary step of installing
Homebrew, as directed on ruby-lang.org
<Installing Ruby.
After Homebrew is set up, users must then add libraries and compile Ruby
from the source code, which can be a daunting task for many.

Where do you see this? I see that it points out that you already have
ruby, and suggests for a newer version to install homebrew and then running
`brew install ruby`. No dependencies, no building from source.

______________________________________________
ruby-talk mailing list -- ruby-talk@ml.ruby-lang.org
To unsubscribe send an email to ruby-talk-leave@ml.ruby-lang.org
ruby-talk info --
Info | ruby-talk@ml.ruby-lang.org - ml.ruby-lang.org

______________________________________________
ruby-talk mailing list -- ruby-talk@ml.ruby-lang.org
To unsubscribe send an email to ruby-talk-leave@ml.ruby-lang.org
ruby-talk info --
Info | ruby-talk@ml.ruby-lang.org - ml.ruby-lang.org

--
Austin Ziegler • halostatue@gmail.com • austin@halostatue.ca
http://www.halostatue.ca/x.com

If you want non-programmers to run Ruby applications, you can consider the
following options. I have built many Ruby apps that I had End-Users install
without having to install Ruby directly or any other software dependencies.

Glimmer DSL for SWT enables packaging Ruby applications inside native
Installers (like Mac DMG/PKG/APP, Windows MSI/EXE, and Linux RPM/DEB) on
top of JRuby, enabling developers to give end-users (non-programmers) only
a single file to run to install everything needed, like JRuby (which can
run any Ruby code), its JVM dependencies, and the application being
installed:

Glimmer DSL for LibUI, which runs on Ruby directly instead of JRuby, has a
section on Packaging Ruby applications that you might want to check out too
(it mentions packaging solutions for Windows and Mac):

Here are examples of apps that were packaged with Glimmer DSL for SWT,
which were installed by end-users without a problem:

- GitHub - AndyObtiva/MathBowling: Bowling game that tests math skills.

- GitHub - AndyObtiva/glimmer-cs-gladiator: Gladiator (Glimmer Editor) - Glimmer Custom Shell

- GitHub - AndyObtiva/are-we-there-yet: Are We There Yet? Small Project Tracking Desktop App for Windows and Mac. Built with Glimmer (Ruby Desktop Development GUI Library)

- GitHub - AndyObtiva/dcr: Draw Color Repeat - A Young Child Programming Language for Drawing and Coloring with Repetition

- GitHub - AndyObtiva/glimmer_klondike_solitaire: Glimmer Klondike Solitaire - Glimmer External Sample

- GitHub - AndyObtiva/glimmer_metronome: Glimmer Metronome supports different beat counts, click sounds, and tempos, including tap-based tempo calculation.

- GitHub - AndyObtiva/glimmer_wordle: Glimmer Wordle - Play Wordle Endlessly with No Limit!

···

On Tue, May 28, 2024 at 10:18 AM Austin Ziegler via ruby-talk < ruby-talk@ml.ruby-lang.org> wrote:

On Tue, May 28, 2024 at 8:21 AM Mark Zhang via ruby-talk < > ruby-talk@ml.ruby-lang.org> wrote:

From the perspective of a developer, Homebrew is indeed very convenient.
However, when I want to distribute Ruby-made games or GUI programs, I find
it hard to imagine how to convince the other party to configure everything
step by step without making mistakes.

This makes me feel that Brew is not good enough. Perhaps for those who
just want to run Ruby, a dmg/pkg would be enough, just as Java and Python
are doing.

If you want to distribute games or GUI apps written in Ruby, bundle Ruby
with your app. Trusting that a user's Ruby installation is compatible with
your game or app is foolishly risky. There are things about how Ruby works
which makes that non-trivial (especially if the app is installed in
~/Applications instead of /Applications), but that's true of pretty much
anything with dylibs.

Python is a reasonable example of a language ecosystem that provides a
package build, but it provides **far more** than just the framework
(installed into /Library) and binaries (installed into /usr/local/bin), but
also (importantly) IDLE.app (a Tk program). Ruby does not have something
like IDLE, so it doesn't really need it.

Java is an entirely different example, as what most people need is the JRE
just to run the (very few remaining) Java Desktop programs (and some of
those offer two downloads: with and without).

Ruby doesn't **need** a .pkg installer. I suspect that if someone stepped
up and volunteered to build it and maintain it (and ensure that the
resulting packages are signed and all), there might be interest in it. Far
more likely, there would be interest that you hosted (like
https://rubyinstaller.org for Windows) and would link to it from
ruby-lang.org.

Simply complaining that Ruby doesn't have a pkg installer isn't useful,
and comparing what Ruby does for this in comparison to other languages or
runtimes doesn't help without understanding the contexts involved.

-a

Ryan Davis via ruby-talk <ruby-talk@ml.ruby-lang.org> 于2024年5月28日周二
05:42写道:

On May 27, 2024, at 01:24, Mark Zhang via ruby-talk < >>> ruby-talk@ml.ruby-lang.org> wrote:

In contrast, installing Ruby requires a preliminary step of installing
Homebrew, as directed on ruby-lang.org
<Installing Ruby.
After Homebrew is set up, users must then add libraries and compile Ruby
from the source code, which can be a daunting task for many.

Where do you see this? I see that it points out that you already have
ruby, and suggests for a newer version to install homebrew and then running
`brew install ruby`. No dependencies, no building from source.

______________________________________________
ruby-talk mailing list -- ruby-talk@ml.ruby-lang.org
To unsubscribe send an email to ruby-talk-leave@ml.ruby-lang.org
ruby-talk info --
Info | ruby-talk@ml.ruby-lang.org - ml.ruby-lang.org

______________________________________________
ruby-talk mailing list -- ruby-talk@ml.ruby-lang.org
To unsubscribe send an email to ruby-talk-leave@ml.ruby-lang.org
ruby-talk info --
Info | ruby-talk@ml.ruby-lang.org - ml.ruby-lang.org

--
Austin Ziegler • halostatue@gmail.com • austin@halostatue.ca
http://www.halostatue.ca/x.com
______________________________________________
ruby-talk mailing list -- ruby-talk@ml.ruby-lang.org
To unsubscribe send an email to ruby-talk-leave@ml.ruby-lang.org
ruby-talk info --
Info | ruby-talk@ml.ruby-lang.org - ml.ruby-lang.org

--
Andy Maleh

LinkedIn: Andy Maleh - Lexop | LinkedIn
<https://www.linkedin.com/in/andymaleh&gt;
Blog: http://andymaleh.blogspot.com
GitHub: AndyObtiva (Andy Maleh) · GitHub
Twitter: @AndyObtiva <x.com;

To :Andy Maleh

Thank you very much !

For patiently answering me so much, it seems just what I need. Glimmer is
my role model, achieving the goals I aspire to.

Glimmer has given me the confidence to do the things I am currently
contemplating. I will pay attention to Glimmer to learn how it does it.

Thank you again, Andy Maleh!

Andy Maleh via ruby-talk <ruby-talk@ml.ruby-lang.org> 于2024年5月29日周三 08:08写道:

···

If you want non-programmers to run Ruby applications, you can consider the
following options. I have built many Ruby apps that I had End-Users install
without having to install Ruby directly or any other software dependencies.

Glimmer DSL for SWT enables packaging Ruby applications inside native
Installers (like Mac DMG/PKG/APP, Windows MSI/EXE, and Linux RPM/DEB) on
top of JRuby, enabling developers to give end-users (non-programmers) only
a single file to run to install everything needed, like JRuby (which can
run any Ruby code), its JVM dependencies, and the application being
installed:

glimmer-dsl-swt/docs/reference/GLIMMER_PACKAGING_AND_DISTRIBUTION.md at master · AndyObtiva/glimmer-dsl-swt · GitHub

Glimmer DSL for LibUI, which runs on Ruby directly instead of JRuby, has a
section on Packaging Ruby applications that you might want to check out too
(it mentions packaging solutions for Windows and Mac):

GitHub - AndyObtiva/glimmer-dsl-libui: Glimmer DSL for LibUI - Prerequisite-Free Ruby Desktop Development Cross-Platform Native GUI Library - The Quickest Way From Zero To GUI - If You Liked Shoes, You'll Love Glimmer! - No need to pre-install any prerequisites. Just install the gem and have platform-independent GUI that just works on Mac, Windows, and Linux.

Here are examples of apps that were packaged with Glimmer DSL for SWT,
which were installed by end-users without a problem:

- GitHub - AndyObtiva/MathBowling: Bowling game that tests math skills.

- GitHub - AndyObtiva/glimmer-cs-gladiator: Gladiator (Glimmer Editor) - Glimmer Custom Shell

- GitHub - AndyObtiva/are-we-there-yet: Are We There Yet? Small Project Tracking Desktop App for Windows and Mac. Built with Glimmer (Ruby Desktop Development GUI Library)

- GitHub - AndyObtiva/dcr: Draw Color Repeat - A Young Child Programming Language for Drawing and Coloring with Repetition

- GitHub - AndyObtiva/glimmer_klondike_solitaire: Glimmer Klondike Solitaire - Glimmer External Sample

- GitHub - AndyObtiva/glimmer_metronome: Glimmer Metronome supports different beat counts, click sounds, and tempos, including tap-based tempo calculation.

- GitHub - AndyObtiva/glimmer_wordle: Glimmer Wordle - Play Wordle Endlessly with No Limit!

On Tue, May 28, 2024 at 10:18 AM Austin Ziegler via ruby-talk < > ruby-talk@ml.ruby-lang.org> wrote:

On Tue, May 28, 2024 at 8:21 AM Mark Zhang via ruby-talk < >> ruby-talk@ml.ruby-lang.org> wrote:

From the perspective of a developer, Homebrew is indeed very convenient.
However, when I want to distribute Ruby-made games or GUI programs, I find
it hard to imagine how to convince the other party to configure everything
step by step without making mistakes.

This makes me feel that Brew is not good enough. Perhaps for those who
just want to run Ruby, a dmg/pkg would be enough, just as Java and Python
are doing.

If you want to distribute games or GUI apps written in Ruby, bundle Ruby
with your app. Trusting that a user's Ruby installation is compatible with
your game or app is foolishly risky. There are things about how Ruby works
which makes that non-trivial (especially if the app is installed in
~/Applications instead of /Applications), but that's true of pretty much
anything with dylibs.

Python is a reasonable example of a language ecosystem that provides a
package build, but it provides **far more** than just the framework
(installed into /Library) and binaries (installed into /usr/local/bin), but
also (importantly) IDLE.app (a Tk program). Ruby does not have something
like IDLE, so it doesn't really need it.

Java is an entirely different example, as what most people need is the
JRE just to run the (very few remaining) Java Desktop programs (and some of
those offer two downloads: with and without).

Ruby doesn't **need** a .pkg installer. I suspect that if someone stepped
up and volunteered to build it and maintain it (and ensure that the
resulting packages are signed and all), there might be interest in it. Far
more likely, there would be interest that you hosted (like
https://rubyinstaller.org for Windows) and would link to it from
ruby-lang.org.

Simply complaining that Ruby doesn't have a pkg installer isn't useful,
and comparing what Ruby does for this in comparison to other languages or
runtimes doesn't help without understanding the contexts involved.

-a

Ryan Davis via ruby-talk <ruby-talk@ml.ruby-lang.org> 于2024年5月28日周二
05:42写道:

On May 27, 2024, at 01:24, Mark Zhang via ruby-talk < >>>> ruby-talk@ml.ruby-lang.org> wrote:

In contrast, installing Ruby requires a preliminary step of installing
Homebrew, as directed on ruby-lang.org
<Installing Ruby.
After Homebrew is set up, users must then add libraries and compile Ruby
from the source code, which can be a daunting task for many.

Where do you see this? I see that it points out that you already have
ruby, and suggests for a newer version to install homebrew and then running
`brew install ruby`. No dependencies, no building from source.

______________________________________________
ruby-talk mailing list -- ruby-talk@ml.ruby-lang.org
To unsubscribe send an email to ruby-talk-leave@ml.ruby-lang.org
ruby-talk info --
Info | ruby-talk@ml.ruby-lang.org - ml.ruby-lang.org

______________________________________________
ruby-talk mailing list -- ruby-talk@ml.ruby-lang.org
To unsubscribe send an email to ruby-talk-leave@ml.ruby-lang.org
ruby-talk info --
Info | ruby-talk@ml.ruby-lang.org - ml.ruby-lang.org

--
Austin Ziegler • halostatue@gmail.com • austin@halostatue.ca
http://www.halostatue.ca/x.com
______________________________________________
ruby-talk mailing list -- ruby-talk@ml.ruby-lang.org
To unsubscribe send an email to ruby-talk-leave@ml.ruby-lang.org
ruby-talk info --
Info | ruby-talk@ml.ruby-lang.org - ml.ruby-lang.org

--
Andy Maleh

LinkedIn: Andy Maleh - Lexop | LinkedIn
<https://www.linkedin.com/in/andymaleh&gt;
Blog: http://andymaleh.blogspot.com
GitHub: AndyObtiva (Andy Maleh) · GitHub
Twitter: @AndyObtiva <x.com;

______________________________________________
ruby-talk mailing list -- ruby-talk@ml.ruby-lang.org
To unsubscribe send an email to ruby-talk-leave@ml.ruby-lang.org
ruby-talk info --
Info | ruby-talk@ml.ruby-lang.org - ml.ruby-lang.org