brew: handle Ruby 2.3 more gracefully.
- `brew.rb` needed updated to fail unless on Ruby 2.3 - `brew update` should unset `HOMEBREW_RUBY_PATH` to ensure that this doesn't "stick" on a Ruby 2.0 version after a portable Ruby has been installed.
This commit is contained in:
parent
3883382a50
commit
bcca2a7c6b
@ -5,8 +5,12 @@ end
|
||||
std_trap = trap("INT") { exit! 130 } # no backtrace thanks
|
||||
|
||||
# check ruby version before requiring any modules.
|
||||
RUBY_TWO = RUBY_VERSION.split(".").first.to_i >= 2
|
||||
raise "Homebrew must be run under Ruby 2!" unless RUBY_TWO
|
||||
RUBY_VERSION_SPLIT = RUBY_VERSION.split "."
|
||||
RUBY_X = RUBY_VERSION_SPLIT[0].to_i
|
||||
RUBY_Y = RUBY_VERSION_SPLIT[1].to_i
|
||||
if RUBY_X < 2 || (RUBY_X == 2 && RUBY_Y < 3)
|
||||
raise "Homebrew must be run under Ruby 2.3!"
|
||||
end
|
||||
|
||||
require "pathname"
|
||||
HOMEBREW_LIBRARY_PATH = Pathname.new(__FILE__).realpath.parent
|
||||
|
||||
@ -570,6 +570,7 @@ EOS
|
||||
-d "$HOMEBREW_LIBRARY/LinkedKegs" ||
|
||||
(-n "$HOMEBREW_DEVELOPER" && -z "$HOMEBREW_UPDATE_PREINSTALL") ]]
|
||||
then
|
||||
unset HOMEBREW_RUBY_PATH
|
||||
brew update-report "$@"
|
||||
return $?
|
||||
elif [[ -z "$HOMEBREW_UPDATE_PREINSTALL" ]]
|
||||
|
||||
@ -81,7 +81,7 @@ module Homebrew
|
||||
safe_system "git", "reset", "--hard", start_commit
|
||||
|
||||
# update ENV["PATH"]
|
||||
ENV["PATH"] = "#{curdir}/bin:/usr/local/bin:/usr/bin:/bin"
|
||||
ENV["PATH"] = "#{curdir}/bin:#{ENV["PATH"]}"
|
||||
|
||||
# run brew update
|
||||
oh1 "Running brew update..."
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user