From 649cbaab02bae8a23243357d0033499b1e079b4d Mon Sep 17 00:00:00 2001 From: sky121113 Date: Tue, 13 Jan 2026 10:54:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E8=85=B3=E6=9C=AC=E7=94=A8=E6=88=B6=E6=AC=8A=E9=99=90=E5=95=8F?= =?UTF-8?q?=E9=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 將 docker exec 用戶從 -u 1000:1000 改為 -u sail(容器內 sail UID 是 1337) - 簡化權限修正為 chown -R sail:sail /var/www/html - 同步更新 Demo 與正式環境的部署腳本 問題根因:容器內 sail 用戶 UID 是 1337,非預期的 1000,導致 npm install 無權寫入 --- .gitea/workflows/deploy.yaml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 8f5e454..e9fa5bd 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -95,15 +95,14 @@ jobs: script: | cd /home/amba/star-cloud - # 修正 npm cache 與 node_modules 權限問題(完全清除後重建) + # 修正權限問題(確保整個專案目錄為 sail 擁有) docker exec -u root star-cloud-laravel sh -c " mkdir -p /.npm && chown -R sail:sail /.npm && - rm -rf /var/www/html/node_modules && - mkdir -p /var/www/html/node_modules && chown -R sail:sail /var/www/html/node_modules + chown -R sail:sail /var/www/html " - docker exec -u 1000:1000 -w /var/www/html star-cloud-laravel sh -c " + docker exec -u sail -w /var/www/html star-cloud-laravel sh -c " # 1. 後端依賴 (Demo 環境建議加上 --no-interaction 避免卡住) composer install --no-dev --optimize-autoloader --no-interaction && @@ -197,14 +196,13 @@ jobs: echo "容器狀態:" && docker ps --filter "name=star-cloud-laravel" - # 修正 npm cache 與 node_modules 權限問題(完全清除後重建) + # 修正權限問題(確保整個專案目錄為 sail 擁有) docker exec -u root star-cloud-laravel sh -c " mkdir -p /.npm && chown -R sail:sail /.npm && - rm -rf /var/www/html/node_modules && - mkdir -p /var/www/html/node_modules && chown -R sail:sail /var/www/html/node_modules + chown -R sail:sail /var/www/html " - docker exec -u 1000:1000 -w /var/www/html star-cloud-laravel sh -c " + docker exec -u sail -w /var/www/html star-cloud-laravel sh -c " composer install --no-dev --optimize-autoloader && # 清理 npm cache(避免權限問題)