From f7bfce96eddd77bdf56d25b9f113cc94ce93390a Mon Sep 17 00:00:00 2001 From: Dario Vladovic Date: Sat, 25 Apr 2020 01:29:45 +0200 Subject: [PATCH] doc: update acid test and introduce curl|bash test script PR-URL: https://github.com/nodejs/node-gyp/pull/2105 Reviewed-By: Rod Vagg --- macOS_Catalina.md | 13 ++++++------- macOS_Catalina_acid_test.sh | 21 +++++++++++++++++++++ 2 files changed, 27 insertions(+), 7 deletions(-) create mode 100644 macOS_Catalina_acid_test.sh diff --git a/macOS_Catalina.md b/macOS_Catalina.md index dbc8da4e7d..699fcfb7c8 100644 --- a/macOS_Catalina.md +++ b/macOS_Catalina.md @@ -21,14 +21,13 @@ If `ProductVersion` is less then `10.15` then this document is not for you. Norm ### The acid test To see if `Xcode Command Line Tools` is installed in a way that will work with `node-gyp`, run: -1. `/usr/sbin/pkgutil --packages | grep CL` - * `com.apple.pkg.CLTools_Executables` should be listed. If it isn't, this test failed. -2. `/usr/sbin/pkgutil --pkg-info com.apple.pkg.CLTools_Executables` - * `version: 11.0.0` (or later) should be listed. If it isn't, this test failed. - -If both tests succeeded, _you are done_! You should be ready to install `node-gyp`. +``` +curl -L https://github.com/nodejs/node-gyp/raw/master/macOS_Catalina_acid_test.sh | bash +``` + +If test succeeded, _you are done_! You should be ready to install `node-gyp`. -If either test failed, there is a problem with your Xcode Command Line Tools installation. [Continue to Solutions](#Solutions). +If test failed, there is a problem with your Xcode Command Line Tools installation. [Continue to Solutions](#Solutions). ### Solutions There are three ways to install the Xcode libraries `node-gyp` needs on macOS. People running Catalina have had success with some but not others in a way that has been unpredictable. diff --git a/macOS_Catalina_acid_test.sh b/macOS_Catalina_acid_test.sh new file mode 100644 index 0000000000..e1e98941a8 --- /dev/null +++ b/macOS_Catalina_acid_test.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +pkgs=( + "com.apple.pkg.DeveloperToolsCLILeo" # standalone + "com.apple.pkg.DeveloperToolsCLI" # from XCode + "com.apple.pkg.CLTools_Executables" # Mavericks +) + +for pkg in "${pkgs[@]}"; do + output=$(/usr/sbin/pkgutil --pkg-info "$pkg" 2>/dev/null) + if [ "$output" ]; then + version=$(echo "$output" | grep 'version' | cut -d' ' -f2) + break + fi +done + +if [ "$version" ]; then + echo "Command Line Tools version: $version" +else + echo >&2 'Command Line Tools not found' +fi