From a578c7f2619dc3312965a7897a60b62a30f80698 Mon Sep 17 00:00:00 2001 From: sky121113 Date: Tue, 13 Jan 2026 10:39:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E4=B8=AD=E7=9A=84=20npm=20=E6=AC=8A=E9=99=90?= =?UTF-8?q?=E5=95=8F=E9=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 npm install 前先用 root 身份修正 /.npm 和 node_modules 權限 - 加入 npm cache clean --force 避免快取權限衝突 - 同時修正 Demo 與正式環境的部署腳本 - 解決 EACCES 與 ENOTEMPTY 錯誤 --- .gitea/workflows/deploy.yaml | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index de583b7..3fa9ec9 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -94,15 +94,24 @@ jobs: command_timeout: 10m script: | cd /home/amba/star-cloud + + # 修正 npm cache 與 node_modules 權限問題 + docker exec -u root star-cloud-laravel sh -c " + chown -R sail:sail /.npm /var/www/html/node_modules 2>/dev/null || true + " + docker exec -u 1000:1000 -w /var/www/html star-cloud-laravel sh -c " # 1. 後端依賴 (Demo 環境建議加上 --no-interaction 避免卡住) composer install --no-dev --optimize-autoloader --no-interaction && - # 2. 前端編譯 + # 2. 清理 npm cache(避免權限問題) + npm cache clean --force 2>/dev/null || true && + + # 3. 前端依賴與編譯 npm install && npm run build && - # 3. Laravel 初始化與優化 + # 4. Laravel 初始化與優化 php artisan migrate --force && php artisan optimize:clear && php artisan optimize && @@ -184,11 +193,20 @@ jobs: fi echo "容器狀態:" && docker ps --filter "name=star-cloud-laravel" + + # 修正 npm cache 與 node_modules 權限問題 + docker exec -u root star-cloud-laravel sh -c " + chown -R sail:sail /.npm /var/www/html/node_modules 2>/dev/null || true + " docker exec -u 1000:1000 -w /var/www/html star-cloud-laravel sh -c " composer install --no-dev --optimize-autoloader && + + # 清理 npm cache(避免權限問題) + npm cache clean --force 2>/dev/null || true && + npm install && - npm run build + npm run build && php artisan migrate --force && php artisan optimize:clear &&