Skip to content

การปักหมุดเวอร์ชัน Node

หนึ่งในฟีเจอร์ที่ทรงพลังที่สุดของ Volta คือความสามารถในการปักหมุดเวอร์ชันเครื่องมือเฉพาะกับโปรเจกต์ของคุณ ตรวจสอบให้แน่ใจว่าทุกคนที่ทำงานบนโปรเจกต์ใช้ toolchain เดียวกัน precies

ทำไมต้องปักหมุดเวอร์ชัน?

  • ความสอดคล้อง: ทุกคนในทีมของคุณใช้เวอร์ชันเดียวกัน
  • ความสามารถในการทำซ้ำ: สภาพแวดล้อม build ตรงกับสภาพแวดล้อมการพัฒนา
  • ความน่าเชื่อถือ: ไม่มีการประหลาดใจจากพฤติกรรมเครื่องมือที่ไม่คาดคิด
  • การเริ่มต้นใช้งาน: สมาชิกทีมใหม่ได้รับการตั้งค่าที่ถูกต้องโดยอัตโนมัติ

วิธีการปักหมุด Node.js

เพื่อปักหมุดเวอร์ชัน Node.js เฉพาะกับโปรเจกต์ของคุณ:

bash
volta pin node@16.14.2

คำสั่งนี้:

  1. ดาวน์โหลดและติดตั้ง Node.js 16.14.2 (หากยังไม่มี)
  2. อัปเดต package.json ของคุณด้วยส่วน volta
  3. ทำให้โปรเจกต์ใช้ Node.js 16.14.2 ทุกครั้งที่คุณเรียก node ในโฟลเดอร์โปรเจกต์

package.json ของคุณจะมีตอนนี้:

json
{
  "volta": {
    "node": "16.14.2"
  }
}

การปักหมุด Package Managers

คุณสามารถปักหมุดเวอร์ชันเฉพาะของ package managers ได้เช่นกัน:

bash
volta pin npm@8.5.0
volta pin yarn@1.22.18
volta pin pnpm@7.0.0

สิ่งนี้ตรวจสอบให้แน่ใจว่าทุกคนใช้เวอร์ชัน package manager เดียวกัน ป้องกันความไม่สอดคล้องของ lockfile และปัญหาเวอร์ชันอื่นๆ

หลังจากปักหมุด npm แล้ว package.json ของคุณจะมีลักษณะดังนี้:

json
{
  "volta": {
    "node": "16.14.2",
    "npm": "8.5.0"
  }
}

การใช้เครื่องมือที่ปักหมุด

เมื่อเครื่องมือถูกปักหมุดแล้ว ไม่ต้องมีคำสั่งเพิ่มเติม เพียงไปที่โฟลเดอร์โปรเจกต์ของคุณและเรียกคำสั่งตามปกติ:

bash
# เหล่านี้จะใช้เวอร์ชันที่ปักหมุดของโปรเจกต์คุณ
node --version
npm --version

Volta ตรวจจับโดยอัตโนมัติเมื่อคุณอยู่ในโฟลเดอร์ที่มีเวอร์ชันปักหมุดและใช้พวกมันแทนเครื่องมือเริ่มต้นของคุณ

การอัปเดตเวอร์ชันที่ปักหมุด

เพื่ออัปเดตเวอร์ชันที่ปักหมุด:

bash
volta pin node@latest
volta pin npm@latest

หรือระบุเวอร์ชันใหม่:

bash
volta pin node@18

แนวปฏิบัติที่ดีที่สุด

เมื่อใดควรปักหมุด

  • สำหรับแอปพลิเคชัน production: ปักหมุดทั้ง Node และ package manager เสมอ
  • สำหรับไลบรารี/แพ็กเกจ: ปักหมุด Node หากโค้ดของคุณพึ่งพาฟีเจอร์ Node เฉพาะ
  • สำหรับเครื่องมือ/ยูทิลิตี้: ปักหมุดเวอร์ชัน Node ขั้นต่ำที่ต้องการสำหรับการทำงาน

การเลือกเวอร์ชัน

  • สำหรับแอปพลิเคชัน เลือกเวอร์ชัน LTS (Long Term Support) ของ Node
  • สำหรับไลบรารี ใช้เวอร์ชัน Node ที่เก่าที่สุดที่คุณต้องการรองรับ
  • อัปเดตเวอร์ชันเป็นระยะเพื่อรับประโยชน์จากการแก้ไขความปลอดภัย

การผสานรวม CI/CD

ตรวจสอบให้แน่ใจว่า pipeline CI/CD ของคุณเคารพเวอร์ชันที่ปักหมุดของคุณ:

  • ใช้ Volta GitHub Action ใน workflow ของ GitHub
  • สำหรับระบบ CI อื่นๆ ติดตั้ง Volta และจะใช้เวอร์ชันที่ปักหมุดของคุณโดยอัตโนมัติ

Released under the BSD 2-Clause License.