diff --git a/deploy-to-opt.sh b/deploy-to-opt.sh index 8b1b250..eb198c7 100755 --- a/deploy-to-opt.sh +++ b/deploy-to-opt.sh @@ -79,7 +79,7 @@ chown -R $USER:$GROUP "$NPM_CACHE_DIR" # Installiere Dependencies echo "" echo "Installiere Dependencies..." -sudo -u $USER bash -c "cd '$TARGET_DIR' && npm config set cache '$NPM_CACHE_DIR' && npm run install:all" +sudo -u $USER bash -c "cd '$TARGET_DIR' && HOME='$TARGET_DIR' npm config set cache '$NPM_CACHE_DIR' && HOME='$TARGET_DIR' npm run install:all" if [ $? -ne 0 ]; then echo "FEHLER: Installation der Dependencies fehlgeschlagen!" @@ -91,7 +91,7 @@ echo "✓ Dependencies installiert" # Baue Client echo "" echo "Baue Client für Production..." -sudo -u $USER bash -c "cd '$TARGET_DIR' && npm config set cache '$NPM_CACHE_DIR' && cd client && npm config set cache '$NPM_CACHE_DIR' && cd .. && npm run build" +sudo -u $USER bash -c "cd '$TARGET_DIR' && HOME='$TARGET_DIR' npm config set cache '$NPM_CACHE_DIR' && cd client && HOME='$TARGET_DIR' npm config set cache '$NPM_CACHE_DIR' && cd .. && HOME='$TARGET_DIR' npm run build" if [ $? -ne 0 ]; then echo "FEHLER: Build fehlgeschlagen!" diff --git a/fix-npm-cache.sh b/fix-npm-cache.sh index 6fcf96d..2c62a4a 100755 --- a/fix-npm-cache.sh +++ b/fix-npm-cache.sh @@ -30,10 +30,10 @@ echo "✓ Cache-Verzeichnis erstellt" echo "Setze npm Cache-Konfiguration..." npm config set cache "$NPM_CACHE_DIR" --global 2>/dev/null || true -# Setze npm Cache für www-data +# Setze npm Cache für www-data (mit HOME gesetzt, damit npm nicht /var/www/.npmrc verwendet) echo "Setze npm Cache für $USER..." -sudo -u $USER bash -c "npm config set cache '$NPM_CACHE_DIR'" -sudo -u $USER bash -c "cd '$TARGET_DIR/client' && npm config set cache '$NPM_CACHE_DIR'" +sudo -u $USER bash -c "HOME='$TARGET_DIR' npm config set cache '$NPM_CACHE_DIR'" +sudo -u $USER bash -c "cd '$TARGET_DIR/client' && HOME='$TARGET_DIR' npm config set cache '$NPM_CACHE_DIR'" echo "✓ npm Cache konfiguriert" @@ -46,6 +46,28 @@ else echo "ℹ /var/www/.npm existiert nicht (ok, wird nicht benötigt)" fi +# Repariere /var/www/.npmrc falls vorhanden +if [ -f "/var/www/.npmrc" ]; then + echo "Repariere /var/www/.npmrc Berechtigungen..." + chown $USER:$GROUP "/var/www/.npmrc" 2>/dev/null || true + chmod 644 "/var/www/.npmrc" 2>/dev/null || true + echo "✓ /var/www/.npmrc repariert" +else + echo "ℹ /var/www/.npmrc existiert nicht (wird erstellt falls nötig)" + # Erstelle .npmrc in /var/www mit korrekten Berechtigungen + touch "/var/www/.npmrc" 2>/dev/null || true + chown $USER:$GROUP "/var/www/.npmrc" 2>/dev/null || true + chmod 644 "/var/www/.npmrc" 2>/dev/null || true +fi + +# Erstelle lokale .npmrc im App-Verzeichnis +echo "Erstelle lokale .npmrc im App-Verzeichnis..." +cat > "$TARGET_DIR/.npmrc" << EOF +cache=$NPM_CACHE_DIR +EOF +chown $USER:$GROUP "$TARGET_DIR/.npmrc" +echo "✓ Lokale .npmrc erstellt" + echo "" echo "==========================================" echo "npm Cache repariert!" @@ -53,6 +75,8 @@ echo "==========================================" echo "" echo "Du kannst jetzt die Installation fortsetzen:" echo " cd $TARGET_DIR" -echo " sudo -u $USER npm run install:all" +echo " sudo -u $USER bash -c \"HOME='$TARGET_DIR' npm run install:all\"" +echo "" +echo "Oder verwende das deploy-to-opt.sh Skript erneut." echo ""