From 93e1e1b67e51a95a580c653b4376e90bb50ae31a Mon Sep 17 00:00:00 2001 From: Jonathan Cammisuli Date: Thu, 19 Oct 2023 10:01:56 -0400 Subject: [PATCH] chore(repo): update post install script to manually check for rust version less than 1.70 (#19739) --- scripts/preinstall.js | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/scripts/preinstall.js b/scripts/preinstall.js index 4de15727d3..1b5f81d01e 100644 --- a/scripts/preinstall.js +++ b/scripts/preinstall.js @@ -2,7 +2,7 @@ This pre-install script will check that the necessary dependencies are installed Checks for: * Node 18+ - * Cargo + * Rust */ if (process.env.CI) { @@ -10,22 +10,29 @@ if (process.env.CI) { } const childProcess = require('child_process'); +const semverLessThan = require('semver/functions/lt'); // Check node version -const nodeVersion = process.version.slice(1).split('.'); -if (+nodeVersion[0] < 18) { +if (semverLessThan(process.version, '18.0.0')) { console.error( 'Please make sure that your installed Node version is greater than v18' ); process.exit(1); } -// Check for cargo +// Check for rust try { - childProcess.execSync('cargo --version'); + let rustVersion = childProcess.execSync('rustc --version'); + if (semverLessThan(rustVersion.toString().split(' ')[1], '1.70.0')) { + console.log(`Found ${rustVersion}`); + console.error( + 'Please make sure that your installed Rust version is greater than v1.70. You can update your installed Rust version with `rustup update`' + ); + process.exit(1); + } } catch { console.error( - 'Could not find Cargo. Please make sure that Cargo and Rust is installed with https://rustup.rs' + 'Could not find the Rust compiler on this system. Please make sure that it is installed with https://rustup.rs' ); process.exit(1); }