Implement retry logic for dependency installation in install.sh to handle registry errors, enhancing robustness. Remove unused sharp dependency from package-lock.json to streamline project dependencies.

This commit is contained in:
Torsten Schulz (local)
2025-12-05 10:32:09 +01:00
parent 4e350774e5
commit 840504e440
2 changed files with 41 additions and 623 deletions

View File

@@ -3,7 +3,7 @@
# SingleChat Installation Script
# Dieses Skript installiert die SingleChat-Anwendung für Production
set -e # Beende bei Fehlern
# set -e wird später aktiviert, nachdem Retry-Logik definiert ist
echo "=========================================="
echo "SingleChat Installation"
@@ -28,15 +28,50 @@ echo "✓ Node.js Version: $(node -v)"
# Installiere Dependencies
echo ""
echo "Installiere Dependencies..."
npm run install:all
echo "Hinweis: Bei Registry-Fehlern wird automatisch erneut versucht..."
if [ $? -ne 0 ]; then
echo "FEHLER: Installation der Dependencies fehlgeschlagen!"
# Funktion für Retry mit Backoff
install_with_retry() {
local max_attempts=3
local attempt=1
local delay=5
while [ $attempt -le $max_attempts ]; do
echo "Versuch $attempt von $max_attempts..."
npm run install:all
if [ $? -eq 0 ]; then
return 0
fi
if [ $attempt -lt $max_attempts ]; then
echo "Installation fehlgeschlagen. Warte ${delay} Sekunden vor erneutem Versuch..."
sleep $delay
delay=$((delay * 2)) # Exponential backoff
fi
attempt=$((attempt + 1))
done
return 1
}
# Versuche Installation mit Retry
if ! install_with_retry; then
echo ""
echo "FEHLER: Installation der Dependencies fehlgeschlagen nach mehreren Versuchen!"
echo "Mögliche Lösungen:"
echo "1. Prüfe deine Internetverbindung"
echo "2. Versuche es später erneut (npm Registry könnte temporär überlastet sein)"
echo "3. Verwende einen alternativen Registry: npm config set registry https://registry.npmmirror.com"
exit 1
fi
echo "✓ Dependencies installiert"
# Aktiviere set -e für den Rest des Skripts
set -e
# Baue Client
echo ""
echo "Baue Client für Production..."