Project

General

Profile

Bug #1008

Missing shell version of ruby-1.9 commands (gem, rake, ...) for MinGW installation

Added by Chauk-Mean (Chauk-Mean Proum) almost 11 years ago. Updated over 8 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Target version:
ruby -v:
Backport:
[ruby-core:21310]

Description

=begin
For MinGW, only Windows batch script (.bat) of commands like gem, rake, ri ... are installed.
Consequently, these commands are usable only from a Windows command prompt.
From MSYS shell, executing .bat files produced errors.
Thus building/installing a binary gem (which should be done from MSYS) cannot be performed.

With ruby 1.8, the setup of rubygems and the installation of the rake gem install the shell version of the corresponding commands.
=> For ruby-1.9, the installation of ruby should also install the shell version of these commands.
=end

History

#1

Updated by luislavena (Luis Lavena) almost 11 years ago

=begin
On 1.8, the only that bring basic ruby scripts into the plate was One-Click Installer.

By default, Ruby generates and bundles those into the batch file stubs. One-Click installer separate those to ease management and also to match how RubyGems implement it.

That's one of the reasons you only have .bat for the bundled gem, rake and ruby scripts, and get the 2 files for ones installed with rubygems.

I believe there are reasons for that, but couldn't find neither in the code or the documentation.
=end

#2

Updated by yugui (Yuki Sonoda) almost 11 years ago

  • Status changed from Open to Rejected

=begin
shell version of those commands confuse windows users who does not have sh. By default, Ruby does not install any kind of shell version commands on mingw environment.
=end

#3

Updated by Chauk-Mean (Chauk-Mean Proum) almost 11 years ago

=begin

shell version of those commands confuse windows users who does not have sh.
I'm sorry but I really don't understand your argument.

Most Windows users use Ruby One Click Installer which provide both shell and bat scripts of commands.
There is no problem in having shell and bat scripts side by side.
I don't expect most Windows users having a look inside the bin directory and I haven't seen any complaints about a possible confusion issue.

The side by side installation of shell and bat scripts of commands is not specific to the One Click Installer.
It is how rubygems work for ruby-1.8 and ruby-1.9 on all Windows platforms (MinGW and MSVC).
On Windows, when you install a gem that include a command (e.g. RedCloth), both shell and bat scripts are installed.

Thanks in advance for reconsidering this issue.
This doesn't harm normal Windows users and this will make life easier for "more advanced" Windows users.
At least, there should be an optional way (e.g. an option in configure) to install the shell scripts.

=end

#4

Updated by shyouhei (Shyouhei Urabe) almost 11 years ago

=begin
(1) As far as I understand MinGW do not have a shell (apart from cmd.exe). So installing
shell scripts on MinGW systems makes no sense to me.

(2) One Click Installer probides both; good. Where is a problem then? You choosed to
install ruby from a source, so you should be able to copy your shell scripts on your
own.
=end

#5

Updated by Chauk-Mean (Chauk-Mean Proum) almost 11 years ago

=begin

(1) As far as I understand MinGW do not have a shell (apart from cmd.exe).
So installing shell scripts on MinGW systems makes no sense to me.

There is a dedicated shell for MinGW that is available with the offical MSYS package.
MSYS provides also all the GNU tools needed for building ruby.
I use MSYS for building ruby-1.9 on MinGW and MSYS shell is typically required when you need to build/install a binary gem on MinGW.

You choosed to install ruby from a source, so you should be able to copy your shell scripts on your own.
Of course, but I was expecting not to have to do such operations manually.
=end

#6

Updated by shyouhei (Shyouhei Urabe) almost 11 years ago

=begin

(1) As far as I understand MinGW do not have a shell (apart from cmd.exe).
So installing shell scripts on MinGW systems makes no sense to me.

There is a dedicated shell for MinGW that is available with the offical MSYS package.
MSYS provides also all the GNU tools needed for building ruby.
I use MSYS for building ruby-1.9 on MinGW and MSYS shell is typically required when you need to build/install a binary gem on MinGW.

MSYS is a official package on top of MinGW, but not required. You can build a
MinGW version of ruby using Cygwin.

# Note that Cygwin shells can kick .bat scripts
=end

#7

Updated by Chauk-Mean (Chauk-Mean Proum) almost 11 years ago

=begin

MSYS is a official package on top of MinGW, but not required. You can build a
MinGW version of ruby using Cygwin.

Note that Cygwin shells can kick .bat scripts

Good point. I've never thought of building MinGW binaries from Cygwin shell.
I just tried it and it works fine.
Thanks.

=end

Also available in: Atom PDF