Issue #14884 has been updated by MSP-Greg (Greg L).


@GardenTools

> has unexpected text at top of file

One could say that other things are actually unexpected.  I believe you have a `rake.cmd` file in your bin folder.  Rename it, and name `rake` to `rake.cmd`.  Run `rake --help` and you should have the correct console output.  Assuming you're running from a cmd/ps shell.  Looking at the first few lines of the script, it may also run with a bash shell...

I'm not sure why two files are used when one would do...

Greg

----------------------------------------
Bug #14884: msys2 mingw32 'rake' has unexpected text at top of file
https://bugs.ruby-lang.org/issues/14884#change-72747

* Author: GardenTools (Garden Tools)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.5.1p57 (2018-03-29 revision 63029) [i386-mingw32]
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
'rake' from mingw-w64-i686-ruby 2.5.1-1 has what looks like fragments of a batch file and a shell script as the first few lines of what should be just shell that calls ruby. The shebang on line 9 clearly should be the first line.
The file indicates it is auto generated, so it seems that some of the generation script has been echoed into this file rather than being run. 

Ruby 2.5 installed from rubyinstaller.org installs a 'rake' file that suffers the same issue.

~~~
$ cat /mingw32/bin/rake
:""||{ ""=> %q<-*- ruby -*-
@"%~dp0ruby" -x "%~f0" %*
@exit /b %ERRORLEVEL%
};{#
bindir="${0%/*}" #
exec "$bindir/ruby" "-x" "$0" "$@" #
>,
}
#!/usr/bin/env ruby
#
# This file was generated by RubyGems.
#
# The application 'rake' is installed as part of a gem, and
# this file is here to facilitate running it.
#

require 'rubygems'

version = ">= 0.a"

if ARGV.first
  str = ARGV.first
  str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
  if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then
    version = $1
    ARGV.shift
  end
end

if Gem.respond_to?(:activate_bin_path)
load Gem.activate_bin_path('rake', 'rake', version)
else
gem "rake", version
load Gem.bin_path("rake", "rake", version)
end
~~~


rbinstall.rb around line 440 seems to be related to causing this.



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>