Peakiq Blog
React Native Environment Info Script for Windows & Mac
Step-by-step guide to creating and using a React Native environment info script for Windows and macOS. Identify versions of Node, npm, Yarn, Java, Android SDK, Xcode, and React Native.
Editorial3 min read575 words
This script collects system information, installed binaries, SDKs, IDEs, and npm packages for a React Native environment on both Windows (PowerShell) and Mac (Bash)
š„ļø Windows (PowerShell) Script
š Steps to Run:
-
Save the script as
react-native-info.ps1 -
Open PowerShell and navigate to the script location
-
Run:
-
# Get System Info Write-Host "System info`n" Write-Host "System:" Write-Host " OS: $(Get-CimInstance Win32_OperatingSystem | Select-Object -ExpandProperty Caption)" Write-Host " CPU: $(Get-CimInstance Win32_Processor | Select-Object -ExpandProperty Name)" Write-Host " Memory: $(Get-CimInstance Win32_ComputerSystem | Select-Object -ExpandProperty TotalPhysicalMemory | ForEach-Object { [math]::Round($_ / 1GB, 2) }) GB" Write-Host " Shell: PowerShell $($PSVersionTable.PSVersion)" # Get Installed Binaries Write-Host "`nBinaries:" Write-Host " Node: $(node -v)" Write-Host " Yarn: $(yarn -v)" Write-Host " npm: $(npm -v)" $watchmanVersion = (Get-Command watchman -ErrorAction SilentlyContinue) ? (watchman --version) : "Not Found" Write-Host " Watchman: $watchmanVersion" # Get Installed Managers Write-Host "`nManagers:" $chocoVersion = (choco -v 2>$null) ? (choco -v) : "Not Installed" Write-Host " Chocolatey: $chocoVersion" $scoopVersion = (scoop -v 2>$null) ? (scoop -v) : "Not Installed" Write-Host " Scoop: $scoopVersion" # Get SDKs Write-Host "`nSDKs:" Write-Host " Android SDK: $(Get-ItemProperty -Path 'HKLM:\SOFTWARE\Android Studio' -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Path)" Write-Host " Java: $(java -version 2>&1 | Select-String -Pattern 'version' | ForEach-Object { $_ -replace 'java version "', '' -replace '"', '' })" # Get Installed IDEs Write-Host "`nIDEs:" $xcodeVersion = "Not Available on Windows" Write-Host " Xcode: $xcodeVersion" $androidStudio = (Get-Command "C:\Program Files\Android\Android Studio\bin\studio64.exe" -ErrorAction SilentlyContinue) ? "Installed" : "Not Installed" Write-Host " Android Studio: $androidStudio" # Get npm package versions Write-Host "`nnpm Packages:" $reactNativeCli = npm show @react-native-community/cli version $reactVersion = npm show react version $reactNativeVersion = npm show react-native version Write-Host " @react-native-community/cli: $reactNativeCli" Write-Host " react: $reactVersion" Write-Host " react-native: $reactNativeVersion" Write-Host "`nnpm Global Packages:" $globalReactNative = npm list -g --depth=0 | Select-String 'react-native' | ForEach-Object { ($_ -split '@')[1] } Write-Host " *react-native*: $($globalReactNative -join ', ')"š Mac (Bash) Script
š Steps to Run:
-
Save the script as
react-native-info.sh -
Make it executable:
chmod +x react-native-info.sh -
Run:
./react-native-info.sh
š
react-native-info.sh#!/bin/bash echo "š React Native Environment Info for macOS" # System Info echo -e "\nš„ļø System Info:" echo " OS: $(sw_vers -productName) $(sw_vers -productVersion)" echo " CPU: $(sysctl -n machdep.cpu.brand_string)" echo " Memory: $(sysctl -n hw.memsize | awk '{print $1/1073741824 " GB"}')" echo " Shell: $SHELL" # Installed Binaries echo -e "\nš§ Binaries:" echo " Node: $(node -v)" echo " Yarn: $(yarn -v)" echo " npm: $(npm -v)" WATCHMAN_VERSION=$(watchman --version 2>/dev/null || echo "Not Found") echo " Watchman: $WATCHMAN_VERSION" # Installed Managers echo -e "\nš¦ Package Managers:" echo " Homebrew: $(brew -v | head -n 1)" # SDKs echo -e "\nš± SDKs:" ANDROID_SDK=$(echo $ANDROID_HOME || echo "Not Found") echo " Android SDK: $ANDROID_SDK" echo " Java: $(java -version 2>&1 | awk -F '"' '/version/ {print $2}')" # Installed IDEs echo -e "\nš ļø IDEs:" XCODE_VERSION=$(xcodebuild -version 2>/dev/null || echo "Not Installed") echo " Xcode: $XCODE_VERSION" ANDROID_STUDIO=$(ls /Applications | grep "Android Studio" || echo "Not Installed") echo " Android Studio: $ANDROID_STUDIO" # NPM Packages echo -e "\nš¦ npm Packages:" echo " @react-native-community/cli: $(npm show @react-native-community/cli version)" echo " react: $(npm show react version)" echo " react-native: $(npm show react-native version)" echo -e "\nš¦ npm Global Packages:" GLOBAL_REACT_NATIVE=$(npm list -g --depth=0 | grep react-native || echo "Not Installed") echo " *react-native*: $GLOBAL_REACT_NATIVE"How to Use
For Windows
-
Save the script as
react-native-info.ps1 -
Run in PowerShell
Set-ExecutionPolicy Unrestricted -Scope Process .\react-native-info.ps1
For macOS
-
Save the script as
react-native-info.sh -
Make it executable
chmod +x react-native-info.sh -
Run
./react-native-info.sh
-