Files
TimeTracker/scripts/fix-desktop-build.bat
T
Dries Peeters 581d38ff24 Add utility scripts for desktop build management
- Add asset checking and preparation scripts
- Add cache clearing utilities for Electron Builder
- Add build fix and troubleshooting scripts
- Add desktop setup verification script
- Add test build script for validation
2026-01-11 20:51:38 +01:00

97 lines
2.9 KiB
Batchfile

@echo off
REM Fix script for npm permission errors on Windows (especially OneDrive)
setlocal
set SCRIPT_DIR=%~dp0
set PROJECT_ROOT=%SCRIPT_DIR%..
set DESKTOP_DIR=%PROJECT_ROOT%\desktop
echo ========================================
echo Fixing npm permission errors...
echo ========================================
echo.
cd /d "%DESKTOP_DIR%"
REM Check if in OneDrive
echo %DESKTOP_DIR% | findstr /i "OneDrive" >nul
if %errorlevel%==0 (
echo WARNING: Project is in OneDrive!
echo OneDrive can lock files and cause npm permission errors.
echo.
echo RECOMMENDED: Exclude node_modules from OneDrive sync
echo 1. Right-click desktop\node_modules folder
echo 2. Select "Free up space" or "Always keep on this device"
echo 3. Or: OneDrive Settings ^> Sync ^> Advanced ^> Files On-Demand
echo 4. Better yet: Move project outside OneDrive
echo.
timeout /t 5 /nobreak >nul
)
echo Cleaning npm cache...
call npm cache clean --force
if errorlevel 1 (
echo WARNING: npm cache clean failed, continuing...
)
echo.
echo Attempting to remove problematic directories...
REM Try to remove common problematic temp directories
if exist "node_modules\.extract-zip-*" (
echo Removing extract-zip temp directories...
for /d %%d in ("node_modules\.extract-zip-*") do (
echo Attempting to remove: %%d
timeout /t 2 /nobreak >nul
rd /s /q "%%d" 2>nul
if exist "%%d" (
echo WARNING: Could not remove %%d - may be locked
echo Try closing other programs or restart your computer
) else (
echo Successfully removed: %%d
)
)
)
REM Try to remove node_modules entirely and reinstall
set /p REMOVE_ALL="Remove entire node_modules folder and reinstall? (y/N): "
if /i "%REMOVE_ALL%"=="y" (
echo.
echo Removing node_modules...
if exist "node_modules" (
timeout /t 2 /nobreak >nul
rd /s /q "node_modules" 2>nul
if exist "node_modules" (
echo ERROR: Could not remove node_modules folder
echo This is likely due to file locks.
echo.
echo Try:
echo 1. Close all programs (IDE, file explorer, etc.)
echo 2. Run this script as Administrator
echo 3. Restart your computer
echo 4. Exclude node_modules from OneDrive sync
exit /b 1
) else (
echo Successfully removed node_modules
)
)
echo.
echo Installing dependencies fresh...
call npm install --prefer-offline --no-audit
if errorlevel 1 (
echo ERROR: npm install failed
echo Try running as Administrator or exclude node_modules from OneDrive
exit /b 1
)
echo.
echo Dependencies installed successfully!
) else (
echo Skipping full removal.
)
echo.
echo ========================================
echo Fix complete!
echo ========================================
endlocal