Fix: npm --cache explizit auf APP_DIR/.npm-cache – kein HOME-Schreibfehler

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
main v1.1.317
boban 2026-04-26 19:39:28 +02:00
parent 140d737231
commit 9d40597842
1 changed files with 5 additions and 7 deletions

View File

@ -115,10 +115,8 @@ frontend_build_quiet() {
echo "[i] Frontend: vorbereiten …" echo "[i] Frontend: vorbereiten …"
as_app "mkdir -p '${APP_DIR}/public/build' '${APP_DIR}/node_modules' '${APP_DIR}/.vite' '${APP_DIR}/.npm-cache'" as_app "mkdir -p '${APP_DIR}/public/build' '${APP_DIR}/node_modules' '${APP_DIR}/.vite' '${APP_DIR}/.npm-cache'"
chown -R "$APP_USER":"$APP_GROUP" "${APP_DIR}/node_modules" "${APP_DIR}/.vite" "${APP_DIR}/.npm-cache" 2>/dev/null || true chown -R "$APP_USER":"$APP_GROUP" "${APP_DIR}/node_modules" "${APP_DIR}/.vite" "${APP_DIR}/.npm-cache" 2>/dev/null || true
# npm-Cache im Home-Dir des APP_USER korrigieren (root-Läufe hinterlassen root-Dateien) # npm-Cache explizit im App-Verzeichnis setzen — verhindert Schreibfehler ins HOME
local npm_home_cache local NPM_CACHE_FLAG="--cache '${APP_DIR}/.npm-cache'"
npm_home_cache="$(eval echo "~${APP_USER}")/.npm"
[[ -d "${npm_home_cache}" ]] && chown -R "${APP_USER}":"${APP_GROUP}" "${npm_home_cache}" 2>/dev/null || true
# Altes Build-Verzeichnis sichern — wird erst nach erfolgreichem Build ersetzt # Altes Build-Verzeichnis sichern — wird erst nach erfolgreichem Build ersetzt
local BUILD_DIR="${APP_DIR}/public/build" local BUILD_DIR="${APP_DIR}/public/build"
@ -132,8 +130,8 @@ frontend_build_quiet() {
as_app "printf 'fund=false\naudit=false\ncache=${APP_DIR}/.npm-cache\n' > ~/.npmrc" >>"$LOG" 2>&1 || true as_app "printf 'fund=false\naudit=false\ncache=${APP_DIR}/.npm-cache\n' > ~/.npmrc" >>"$LOG" 2>&1 || true
echo "[i] Frontend: Dependencies … (Details: $LOG)" echo "[i] Frontend: Dependencies … (Details: $LOG)"
if ! as_app "cd '${APP_DIR}' && ${NPM_ENV} npm ci --no-audit --no-fund --no-progress" >>"$LOG" 2>&1; then if ! as_app "cd '${APP_DIR}' && ${NPM_ENV} npm ci --no-audit --no-fund --no-progress ${NPM_CACHE_FLAG}" >>"$LOG" 2>&1; then
if ! as_app "cd '${APP_DIR}' && ${NPM_ENV} npm install --no-audit --no-fund --no-progress" >>"$LOG" 2>&1; then if ! as_app "cd '${APP_DIR}' && ${NPM_ENV} npm install --no-audit --no-fund --no-progress ${NPM_CACHE_FLAG}" >>"$LOG" 2>&1; then
echo "[!] npm install fehlgeschlagen — altes Build wird wiederhergestellt." echo "[!] npm install fehlgeschlagen — altes Build wird wiederhergestellt."
[[ -d "${BUILD_BAK}" ]] && cp -a "${BUILD_BAK}/." "${BUILD_DIR}/" 2>/dev/null || true [[ -d "${BUILD_BAK}" ]] && cp -a "${BUILD_BAK}/." "${BUILD_DIR}/" 2>/dev/null || true
tail -n 60 "$LOG" || true tail -n 60 "$LOG" || true
@ -142,7 +140,7 @@ frontend_build_quiet() {
fi fi
echo "[i] Frontend: Build … (Details: $LOG)" echo "[i] Frontend: Build … (Details: $LOG)"
if ! as_app "cd '${APP_DIR}' && ${NPM_ENV} npm run build --silent --loglevel=warn" >>"$LOG" 2>&1; then if ! as_app "cd '${APP_DIR}' && ${NPM_ENV} npm run build --silent --loglevel=warn ${NPM_CACHE_FLAG}" >>"$LOG" 2>&1; then
echo "[!] Build fehlgeschlagen — altes Build wird wiederhergestellt." echo "[!] Build fehlgeschlagen — altes Build wird wiederhergestellt."
[[ -d "${BUILD_BAK}" ]] && cp -a "${BUILD_BAK}/." "${BUILD_DIR}/" 2>/dev/null || true [[ -d "${BUILD_BAK}" ]] && cp -a "${BUILD_BAK}/." "${BUILD_DIR}/" 2>/dev/null || true
tail -n 80 "$LOG" || true tail -n 80 "$LOG" || true