2025-06-20 11:46:08 +02:00
#!/usr/bin/env bash
# Install pnpm
2025-12-08 11:09:02 +02:00
REQUIRED_PNPM_VERSION = " $1 "
if command -v pnpm & > /dev/null; then
# pnpm is already installed; check the current version.
CURRENT_PNPM_VERSION = $( pnpm --version 2>/dev/null)
if [ -n " $CURRENT_PNPM_VERSION " ] ; then
# Compare CURRENT_PNPM_VERSION < REQUIRED_PNPM_VERSION using sort -V
lower_version = $( printf '%s\n%s\n' " $CURRENT_PNPM_VERSION " " $REQUIRED_PNPM_VERSION " | sort -V | head -n1)
if [ " $lower_version " != " $REQUIRED_PNPM_VERSION " ] ; then
echo " pnpm is already installed with version $CURRENT_PNPM_VERSION , which is older than the required $REQUIRED_PNPM_VERSION . Please update pnpm manually if needed. "
fi
fi
else
2025-12-08 18:37:38 +02:00
# Install pnpm using npm
2025-12-08 11:09:02 +02:00
if [ -n " $REQUIRED_PNPM_VERSION " ] ; then
echo " Installing pnpm version $REQUIRED_PNPM_VERSION ... "
2025-12-08 18:37:38 +02:00
npm install -g pnpm@$REQUIRED_PNPM_VERSION
2025-12-08 11:09:02 +02:00
else
echo "Installing latest pnpm..."
2025-12-08 18:37:38 +02:00
npm install -g pnpm
2025-12-08 13:19:23 +02:00
fi
2025-12-08 11:09:02 +02:00
# Verify pnpm was installed
if ! command -v pnpm >/dev/null 2>& 1; then
echo "Error: pnpm installation failed"
exit 1
fi
echo " pnpm successfully installed: $( pnpm --version) "
2025-06-20 11:46:08 +02:00
fi