diff --git a/lib/tasks/webpacker/check_node.rake b/lib/tasks/webpacker/check_node.rake index 6049f3f3c..6d87fb38a 100644 --- a/lib/tasks/webpacker/check_node.rake +++ b/lib/tasks/webpacker/check_node.rake @@ -3,8 +3,11 @@ namespace :webpacker do task :check_node do begin node_version = `node -v` - if node_version.tr("v", "").to_f < 6.4 - puts "Webpacker requires Node.js >= 6.4 and you are using #{node_version}" + required_node_version = "6.4" + + raise Errno::ENOENT if node_version.blank? + if Gem::Version.new(node_version.strip.tr("v", "")) < Gem::Version.new(required_node_version) + puts "Webpacker requires Node.js >= v#{required_node_version} and you are using #{node_version}" puts "Please upgrade Node.js https://nodejs.org/en/download/" puts "Exiting!" && exit! end diff --git a/lib/tasks/webpacker/check_yarn.rake b/lib/tasks/webpacker/check_yarn.rake index 4317b6f61..a16698251 100644 --- a/lib/tasks/webpacker/check_yarn.rake +++ b/lib/tasks/webpacker/check_yarn.rake @@ -2,7 +2,8 @@ namespace :webpacker do desc "Verifies if yarn is installed" task :check_yarn do begin - `yarn --version` + version = `yarn --version` + raise Errno::ENOENT if version.blank? rescue Errno::ENOENT puts "Webpacker requires yarn. Please download and install Yarn https://yarnpkg.com/lang/en/docs/install/" puts "Exiting!" && exit!