fix
This commit is contained in:
parent
29d0aca295
commit
ef6281ef83
55
Makefile
55
Makefile
|
|
@ -86,6 +86,61 @@ dev: ## [dev] 顯示本機開發要開的終端
|
|||
@echo " 4) make dev-node-worker # node worker(需 style-8d 時)"
|
||||
@echo " 5) make dev-frontend # 前端 :5173"
|
||||
|
||||
# ============================================================
|
||||
# 安裝依賴(新機器 clone 後執行一次)
|
||||
# ============================================================
|
||||
|
||||
.PHONY: bootstrap-sys
|
||||
bootstrap-sys: ## [需 sudo] 安裝系統依賴(Go, Node.js, Docker, Nginx)— Ubuntu 專用
|
||||
@echo "=== 安裝系統套件: nginx, curl, gnupg ==="
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -y -qq nginx curl gnupg ca-certificates
|
||||
@echo ""
|
||||
@echo "=== 安裝 Go 1.22+ ==="
|
||||
@GO_VER=$$(curl -sL https://go.dev/VERSION?m=text 2>/dev/null | head -1 || echo "go1.22"); \
|
||||
echo "下載 $$GO_VER.linux-amd64.tar.gz"; \
|
||||
curl -sL "https://go.dev/dl/$$GO_VER.linux-amd64.tar.gz" -o /tmp/go.tar.gz && \
|
||||
sudo rm -rf /usr/local/go && \
|
||||
sudo tar -C /usr/local -xzf /tmp/go.tar.gz && \
|
||||
rm /tmp/go.tar.gz; \
|
||||
echo 'export PATH=/usr/local/go/bin:$$PATH' | sudo tee /etc/profile.d/go.sh
|
||||
@echo ""
|
||||
@echo "=== 安裝 Node.js LTS ==="
|
||||
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
|
||||
sudo apt-get install -y -qq nodejs
|
||||
@echo ""
|
||||
@echo "=== 安裝 Docker Engine + Compose ==="
|
||||
curl -fsSL https://get.docker.com | sudo sh
|
||||
sudo usermod -aG docker $(USER) 2>/dev/null || true
|
||||
@echo ""
|
||||
@echo "=== 安裝 Nginx ==="
|
||||
sudo apt-get install -y -qq nginx
|
||||
@echo ""
|
||||
@echo "✓ 系統依賴安裝完成。"
|
||||
@echo " 登出再登入後,Go/Node/Docker 即可使用(group 變更生效)。"
|
||||
@echo " 接著執行 make bootstrap 安裝專案層依賴。"
|
||||
@echo ""
|
||||
|
||||
.PHONY: bootstrap
|
||||
bootstrap: ## 安裝專案層依賴(Go modules + npm + Playwright),需先執行 make bootstrap-sys
|
||||
@echo "=== [1/4] Go modules ==="
|
||||
cd $(BACKEND_DIR) && go mod tidy
|
||||
@echo ""
|
||||
@echo "=== [2/4] 前端 npm ==="
|
||||
cd $(FRONTEND_DIR) && npm install
|
||||
@echo ""
|
||||
@echo "=== [3/4] Node worker npm ==="
|
||||
cd $(BACKEND_DIR)/worker && npm install
|
||||
@echo ""
|
||||
@echo "=== [4/4] Playwright 瀏覽器(chromium)+ 系統依賴 ==="
|
||||
cd $(BACKEND_DIR)/worker && sudo npx playwright install --with-deps chromium
|
||||
@echo ""
|
||||
@echo "✓ 全裝完成。後續步驟:"
|
||||
@echo " 1) make dev-infra # 起 Mongo/Redis (Docker)"
|
||||
@echo " 2) make dev-init # 初始化 DB + 建立 admin"
|
||||
@echo " 3) make dev-backend # 啟動 gateway (:8890)"
|
||||
@echo " 4) sudo make install # 正式部署(含 systemd + nginx)"
|
||||
|
||||
# ============================================================
|
||||
# BUILD (prod 產物)
|
||||
# ============================================================
|
||||
|
|
|
|||
|
|
@ -899,9 +899,6 @@
|
|||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -916,9 +913,6 @@
|
|||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -933,9 +927,6 @@
|
|||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -950,9 +941,6 @@
|
|||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -967,9 +955,6 @@
|
|||
"loong64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -984,9 +969,6 @@
|
|||
"loong64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -1001,9 +983,6 @@
|
|||
"ppc64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -1018,9 +997,6 @@
|
|||
"ppc64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -1035,9 +1011,6 @@
|
|||
"riscv64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -1052,9 +1025,6 @@
|
|||
"riscv64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -1069,9 +1039,6 @@
|
|||
"s390x"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -1086,9 +1053,6 @@
|
|||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -1103,9 +1067,6 @@
|
|||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -1329,9 +1290,6 @@
|
|||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -1349,9 +1307,6 @@
|
|||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -1369,9 +1324,6 @@
|
|||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -1389,9 +1341,6 @@
|
|||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -2327,9 +2276,6 @@
|
|||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -2351,9 +2297,6 @@
|
|||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -2375,9 +2318,6 @@
|
|||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
@ -2399,9 +2339,6 @@
|
|||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MPL-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
|
|
|
|||
Loading…
Reference in New Issue