[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/>. - Java is made accessible through a .dmg file available at java.com/en/download <https://www.java.com/en/download/>. In contrast, installing Ruby requires a preliminary step of installing Homebrew, as directed on ruby-lang.org <https://www.ruby-lang.org/en/documentation/installation/#homebrew>. 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 -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.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 --
https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.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 -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.ml.ruby-lang.org...
-- Andy Maleh LinkedIn: https://www.linkedin.com/in/andymaleh <https://www.linkedin.com/in/andymaleh> Blog: http://andymaleh.blogspot.com GitHub: http://www.github.com/AndyObtiva Twitter: @AndyObtiva <https://twitter.com/AndyObtiva>

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 <https://www.ruby-lang.org/en/documentation/installation/#homebrew>. 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.

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 <https://www.ruby-lang.org/en/documentation/installation/#homebrew>. 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 -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.ml.ruby-lang.org...

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 <https://www.ruby-lang.org/en/documentation/installation/#homebrew>. 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 -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.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 -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.ml.ruby-lang.org...
-- Austin Ziegler • halostatue@gmail.com • austin@halostatue.ca http://www.halostatue.ca/ • http://twitter.com/halostatue

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: https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/docs/reference/GLI... 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): https://github.com/AndyObtiva/glimmer-dsl-libui?tab=readme-ov-file#packaging Here are examples of apps that were packaged with Glimmer DSL for SWT, which were installed by end-users without a problem: - https://github.com/AndyObtiva/MathBowling - https://github.com/AndyObtiva/glimmer-cs-gladiator - https://github.com/AndyObtiva/are-we-there-yet - https://github.com/AndyObtiva/dcr - https://github.com/AndyObtiva/glimmer_klondike_solitaire - https://github.com/AndyObtiva/glimmer_metronome - https://github.com/AndyObtiva/glimmer_wordle 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 <https://www.ruby-lang.org/en/documentation/installation/#homebrew>. 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 -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.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 -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.ml.ruby-lang.org...
-- Austin Ziegler • halostatue@gmail.com • austin@halostatue.ca http://www.halostatue.ca/ • http://twitter.com/halostatue ______________________________________________ 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 -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.ml.ruby-lang.org...
-- Andy Maleh LinkedIn: https://www.linkedin.com/in/andymaleh <https://www.linkedin.com/in/andymaleh> Blog: http://andymaleh.blogspot.com GitHub: http://www.github.com/AndyObtiva Twitter: @AndyObtiva <https://twitter.com/AndyObtiva>

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:
https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/docs/reference/GLI...
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):
https://github.com/AndyObtiva/glimmer-dsl-libui?tab=readme-ov-file#packaging
Here are examples of apps that were packaged with Glimmer DSL for SWT, which were installed by end-users without a problem:
- https://github.com/AndyObtiva/MathBowling
- https://github.com/AndyObtiva/glimmer-cs-gladiator
- https://github.com/AndyObtiva/are-we-there-yet
- https://github.com/AndyObtiva/dcr
- https://github.com/AndyObtiva/glimmer_klondike_solitaire
- https://github.com/AndyObtiva/glimmer_metronome
- https://github.com/AndyObtiva/glimmer_wordle
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 <https://www.ruby-lang.org/en/documentation/installation/#homebrew>. 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 -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.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 -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.ml.ruby-lang.org...
-- Austin Ziegler • halostatue@gmail.com • austin@halostatue.ca http://www.halostatue.ca/ • http://twitter.com/halostatue ______________________________________________ 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 -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.ml.ruby-lang.org...
-- Andy Maleh
LinkedIn: https://www.linkedin.com/in/andymaleh <https://www.linkedin.com/in/andymaleh> Blog: http://andymaleh.blogspot.com GitHub: http://www.github.com/AndyObtiva Twitter: @AndyObtiva <https://twitter.com/AndyObtiva>
______________________________________________ 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 -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.ml.ruby-lang.org...
participants (5)
-
Andy Maleh
-
Austin Ziegler
-
Mark Zhang
-
Roger Pack
-
Ryan Davis