กลับไปหน้าสูตร
#vercel#nextjs#deployment#cli#cheatsheet#devops
Vercel CLI Cheatsheet
คู่มือฉบับเต็ม Vercel CLI: เจาะลึกการทำ Preview Deployment, จัดการ Edge Functions, การแก้บั๊กผ่าน Logs และระบบ Remote Env
11 มีนาคม 2569อ่านประมาณ 2 นาที
สารบัญสูตร
🚀 Core CLI Flow (vc / vercel)
คำสั่งเริ่มต้นเพื่อเชื่อมต่อโปรเจกต์:
| Command | เจาะลึกการใช้งาน |
|---|---|
vc login | ล็อกอินผ่านเว็บเบราว์เซอร์หรือ GitHub |
vc link | ผูก Folder ปัจจุบันกับโปรเจกต์บน Dashboard (สร้าง .vercel/) |
vc deploy | สร้าง Preview Deployment และรัน Build บน Cloud |
vc deploy --prod | โปรโมตเซสชันนี้ขึ้นสู่ Production ทันที |
vc dev | จำลองสภาพแวดล้อม Vercel ในเครื่อง (รองรับ API, Middleware) |
vc --version | เช็กเวอร์ชัน CLI (แนะนำให้อัปเดตบ่อยๆ เพื่อใช้ฟีเจอร์ใหม่) |
🌐 Env Variables (Advanced Management)
| Command | ประโยชน์ |
|---|---|
vc env ls | แสดง Env ทั้งหมดแยกตาม Environment (Prod, Preview, Dev) |
vc env add [key] | เพิ่มตัวแปรใหม่ พร้อมระบุขอบเขตการใช้งาน |
vc env pull .env.local | ดึงตัวแปรทั้งหมดลงมาในเครื่องเพื่อรัน Development |
vc env rm [key] | ลบตัวแปรออกจากเซิร์ฟเวอร์ถาวร |
💡 Env Pro Tip:
หากต้องการอัปโหลด Env จำนวนมากจากไฟล์ .env เข้าไปในระบบ:
# ใช้ไฟล์ท้องถิ่นอัปโหลดเข้าไป (ต้องพิมพ์ยืนยันค่า)
vc env add < .env
📜 Logging & Real-time Debugging
| Command | เจาะลึก |
|---|---|
vc logs -f | ติดตามทุกลอคที่เกิดขึ้น (Function calls, Errors, Builds) |
vc logs --json | แสดงผลเป็น JSON (ใช้ร่วมกับ jq เพื่อฟิลเตอร์ข้อมูลได้ง่าย) |
vc logs --since 10m | ดูลอคย้อนหลัง 10 นาทีที่ผ่านมา |
vc logs --status 500 | กรองเฉพาะลอคที่มีสถานะ HTTP 500 (Server Error) |
⚙️ Advanced Settings & Commands
📁 Vercel Project Config (vercel.json)
คุณสามารถตั้งค่า Header, Redirects, หรือ Rewrite ผ่านไฟล์นี้:
{
"redirects": [{ "source": "/old", "destination": "/new", "permanent": true }],
"rewrites": [{ "source": "/api/proxy", "destination": "https://api.external.com" }],
"headers": [{ "source": "/(.*)", "headers": [{ "key": "X-Custom", "value": "true" }] }]
}
⚡ Edge & Serverless Control
vc inspect <url>: ตรวจสอบสถานะการ Deploy และ Region ที่ทำงานอยู่vc rollback <id>: ย้อนกลับไปเวอร์ชันก่อนหน้าทันที (ใช้ได้เมื่อ Production พัง)vc alias set [id] [domain]: ตั้งชื่อเล่น (Alias) ให้กับ deployment เฉพาะตัว
💡 Troubleshooting Flags
| Flag | เมื่อไหร่ที่ต้องใช้? |
|---|---|
--force | เมื่อต้องการ Build ใหม่จากศูนย์ (ล้าง Cache บน Cloud) |
--prebuilt | เมื่อต้องการ Build ในเครื่องตัวเอง (เช่น npm run build) แล้วส่งขึ้นไป |
--debug | แสดงสถานะการเชื่อมต่อและอัปโหลดข้อมูล (ละเอียดมาก) |
--archive | เมื่อการอัปโหลดไฟล์จำนวนมากผ่าน API ปกติล้มเหลว |
📅 Professional Workflows
1) การย้ายตัวแปรจากเครื่องเดิมไปเครื่องใหม่
# ในเครื่องเก่า
vc env pull .env.export
# ในโปรเจกต์ใหม่
vc env add < .env.export
2) การดูลอคแยกตามฟังก์ชัน (Microservices Style)
vc logs <deployment-url> --output-format json | jq '.logs[] | select(.proxy.path == "/api/users")'
3) การเชื่อมต่อ Monorepo (Turbo/Nx)
เมื่อรัน vc link คุณต้องเลือกโปรเจกต์ย่อยให้ถูกต้อง:
vc link --yes --project-name my-monorepo-app
🚀 Why Use Vercel CLI?
- Speed: เร็วกว่าการรอ Git Hook ในบางจังหวะ (Direct Deploy)
- Control: จัดการ Environment ได้ยืดหยุ่นกว่าหน้าเว็บ
- Debug: เห็น Logs ของ Serverless Functions ทันที (ไม่ต้องผ่าน UI)
- Local Dev: รัน API และ Middleware ได้เหมือนบน Cloud 100%