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:
43
install.sh
43
install.sh
@@ -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..."
|
||||
|
||||
Reference in New Issue
Block a user