mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
28 lines
1.0 KiB
Ruby
Executable File
28 lines
1.0 KiB
Ruby
Executable File
#!/usr/bin/env ruby --enable-frozen-string-literal --disable=gems,did_you_mean,rubyopt
|
|
# typed: true
|
|
# frozen_string_literal: true
|
|
|
|
HOMEBREW_REQUIRED_RUBY_VERSION = ARGV.first.freeze
|
|
raise "No Ruby version passed!" if HOMEBREW_REQUIRED_RUBY_VERSION.to_s.empty?
|
|
|
|
require "rubygems"
|
|
|
|
ruby_version = Gem::Version.new(RUBY_VERSION)
|
|
# This will only happen if the Ruby is too old anyway.
|
|
abort unless ruby_version.respond_to?(:canonical_segments)
|
|
|
|
homebrew_required_ruby_version = Gem::Version.new(HOMEBREW_REQUIRED_RUBY_VERSION)
|
|
|
|
ruby_version_major, ruby_version_minor, = ruby_version.canonical_segments
|
|
homebrew_required_ruby_version_major, homebrew_required_ruby_version_minor, =
|
|
homebrew_required_ruby_version.canonical_segments
|
|
|
|
if ENV["HOMEBREW_DEVELOPER"].present? &&
|
|
ENV["HOMEBREW_USE_RUBY_FROM_PATH"].present? &&
|
|
ruby_version >= homebrew_required_ruby_version
|
|
return
|
|
elsif ruby_version_major != homebrew_required_ruby_version_major ||
|
|
ruby_version_minor != homebrew_required_ruby_version_minor
|
|
abort
|
|
end
|