การปักหมุดเวอร์ชัน Node
หนึ่งในฟีเจอร์ที่ทรงพลังที่สุดของ Volta คือความสามารถในการปักหมุดเวอร์ชันเครื่องมือเฉพาะกับโปรเจกต์ของคุณ ตรวจสอบให้แน่ใจว่าทุกคนที่ทำงานบนโปรเจกต์ใช้ toolchain เดียวกัน precies
ทำไมต้องปักหมุดเวอร์ชัน?
- ความสอดคล้อง: ทุกคนในทีมของคุณใช้เวอร์ชันเดียวกัน
- ความสามารถในการทำซ้ำ: สภาพแวดล้อม build ตรงกับสภาพแวดล้อมการพัฒนา
- ความน่าเชื่อถือ: ไม่มีการประหลาดใจจากพฤติกรรมเครื่องมือที่ไม่คาดคิด
- การเริ่มต้นใช้งาน: สมาชิกทีมใหม่ได้รับการตั้งค่าที่ถูกต้องโดยอัตโนมัติ
วิธีการปักหมุด Node.js
เพื่อปักหมุดเวอร์ชัน Node.js เฉพาะกับโปรเจกต์ของคุณ:
volta pin node@16.14.2คำสั่งนี้:
- ดาวน์โหลดและติดตั้ง Node.js 16.14.2 (หากยังไม่มี)
- อัปเดต
package.jsonของคุณด้วยส่วนvolta - ทำให้โปรเจกต์ใช้ Node.js 16.14.2 ทุกครั้งที่คุณเรียก
nodeในโฟลเดอร์โปรเจกต์
package.json ของคุณจะมีตอนนี้:
{
"volta": {
"node": "16.14.2"
}
}การปักหมุด Package Managers
คุณสามารถปักหมุดเวอร์ชันเฉพาะของ package managers ได้เช่นกัน:
volta pin npm@8.5.0
volta pin yarn@1.22.18
volta pin pnpm@7.0.0สิ่งนี้ตรวจสอบให้แน่ใจว่าทุกคนใช้เวอร์ชัน package manager เดียวกัน ป้องกันความไม่สอดคล้องของ lockfile และปัญหาเวอร์ชันอื่นๆ
หลังจากปักหมุด npm แล้ว package.json ของคุณจะมีลักษณะดังนี้:
{
"volta": {
"node": "16.14.2",
"npm": "8.5.0"
}
}การใช้เครื่องมือที่ปักหมุด
เมื่อเครื่องมือถูกปักหมุดแล้ว ไม่ต้องมีคำสั่งเพิ่มเติม เพียงไปที่โฟลเดอร์โปรเจกต์ของคุณและเรียกคำสั่งตามปกติ:
# เหล่านี้จะใช้เวอร์ชันที่ปักหมุดของโปรเจกต์คุณ
node --version
npm --versionVolta ตรวจจับโดยอัตโนมัติเมื่อคุณอยู่ในโฟลเดอร์ที่มีเวอร์ชันปักหมุดและใช้พวกมันแทนเครื่องมือเริ่มต้นของคุณ
การอัปเดตเวอร์ชันที่ปักหมุด
เพื่ออัปเดตเวอร์ชันที่ปักหมุด:
volta pin node@latest
volta pin npm@latestหรือระบุเวอร์ชันใหม่:
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 และจะใช้เวอร์ชันที่ปักหมุดของคุณโดยอัตโนมัติ