สํารวจแพคเกจ

เสร็จสมบูรณ์เมื่อ

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

แพคเกจคืออะไร

แพ็คเกจเป็นวิธีที่เป็นทางการในการสร้างหน่วยที่แจกจ่ายได้ของสิ่งประดิษฐ์ซอฟต์แวร์ที่สามารถนําไปใช้ได้จากโซลูชันซอฟต์แวร์อื่น

ลักษณะสําคัญของแพ็คเกจ:

  • คําอธิบายเนื้อหา: แพ็คเกจอธิบายเนื้อหาที่มีอยู่
  • ข้อมูลเมตา: ให้ข้อมูลเพิ่มเติมเกี่ยวกับแพ็คเกจ (เวอร์ชัน ผู้เขียน การขึ้นต่อกัน)
  • การระบุเฉพาะ: ข้อมูลระบุพัสดุแต่ละชิ้นโดยเฉพาะ
  • รรณนาตนเอง: รูปแบบแพ็คเกจเป็นมาตรฐานและมีเอกสารเป็นอย่างดี

ประโยชน์ของการใช้แพ็คเกจ:

  • ที่เก็บข้อมูลส่วนกลาง: จัดเก็บพัสดุในตําแหน่งส่วนกลางเพื่อให้เข้าถึงได้ง่าย
  • การบริโภคที่คาดการณ์ได้: บริโภคเนื้อหาในบรรจุภัณฑ์ในลักษณะที่สอดคล้องกัน
  • การสนับสนุนเครื่องมือ: เปิดใช้งานเครื่องมืออัตโนมัติเพื่อจัดการแพ็คเกจในโซลูชันซอฟต์แวร์ของคุณ
  • การจัดการเวอร์ชัน: ติดตามและจัดการส่วนประกอบเวอร์ชันต่างๆ
  • การแก้ปัญหาการพึ่งพา: แก้ไขและติดตั้งการขึ้นต่อกันที่จําเป็นโดยอัตโนมัติ

ส่วนประกอบของแพ็คเกจ

แพ็คเกจทั่วไปประกอบด้วย:

  • รหัสที่รวบรวม: ไลบรารี แอสเซมบลี หรือไฟล์ปฏิบัติการ
  • ไฟล์ต้นฉบับ: ในบางกรณี ซอร์สโค้ดสําหรับการดีบักหรือการอ้างอิง
  • ข้อมูลเมตา: ข้อมูลเกี่ยวกับแพ็คเกจ (ชื่อ รุ่น ผู้สร้าง ใบอนุญาต การขึ้นต่อกัน)
  • เอกสาร: ไฟล์ README, เอกสารประกอบ API หรือคู่มือการใช้งาน
  • สินทรัพย์: รูปภาพ ไฟล์การกําหนดค่า หรือทรัพยากรอื่นๆ

ชนิดของแพคเกจ

แพคเกจที่สามารถใช้สําหรับชนิดต่าง ๆ ของคอมโพเนนต์ ชนิดของคอมโพเนนต์ที่คุณต้องการใช้ใน codebase ของคุณแตกต่างกันสําหรับส่วนและเลเยอร์ต่างๆ ของโซลูชันที่คุณกําลังสร้าง

ช่วงส่วนประกอบ:

  • ส่วนประกอบส่วนหน้า: ไฟล์โค้ด JavaScript, ไลบรารี CSS, เฟรมเวิร์ก UI
  • ส่วนประกอบแบ็กเอนด์: แอสเซมบลี .NET, Java JAR, โมดูล Python
  • โซลูชั่นที่สมบูรณ์: แอปพลิเคชันหรือไมโครเซอร์วิสในตัว
  • ไฟล์ที่นํากลับมาใช้ใหม่ได้: เทมเพลต การตั้งค่าคอนฟิก หรือเอกสารประกอบ

ในช่วงหลายปีที่ผ่านมารูปแบบบรรจุภัณฑ์มีการเปลี่ยนแปลงและพัฒนา ตอนนี้มีรูปแบบมาตรฐานโดยพฤตินัยหลายรูปแบบสําหรับแพ็คเกจ

แพ็คเกจ NuGet

แพ็คเกจ NuGet (ออกเสียงว่า "new get") เป็นมาตรฐานที่ใช้สําหรับสิ่งประดิษฐ์โค้ด .NET

ลักษณะ:

  • เนื้อหา: รวมแอสเซมบลี .NET และไฟล์ที่เกี่ยวข้อง เครื่องมือ และบางครั้งก็มีเพียงข้อมูลเมตาเท่านั้น
  • รูปแบบ: โดยพื้นฐานแล้วโครงสร้างโฟลเดอร์บีบอัดที่มีไฟล์ในรูปแบบ ZIP
  • การเพิ่ม:.nupkg นามสกุลไฟล์
  • การใช้: กําหนดวิธีการสร้าง จัดเก็บ และใช้แพ็คเกจในระบบนิเวศ .NET

ดูเพิ่มเติม บทนําสู่ NuGet

แพ็คเกจ NPM

แพ็คเกจ npm ใช้สําหรับการพัฒนา JavaScript

ลักษณะ:

  • สาเหตุ: มีต้นกําเนิดมาจากการพัฒนา Node.js ซึ่งเป็นรูปแบบบรรจุภัณฑ์เริ่มต้น
  • เนื้อหา: ไฟล์หรือโฟลเดอร์ที่มีไฟล์ JavaScript และ package.json ไฟล์
  • ข้อมูลเมตา:package.json อธิบายข้อมูลเมตา การขึ้นต่อกัน และสคริปต์ของแพ็คเกจ
  • โม ดู ล: แพ็คเกจมักจะมีโมดูลอย่างน้อยหนึ่งโมดูลที่สามารถโหลดได้เมื่อใช้แล้ว

ดูเพิ่มเติม เกี่ยวกับแพคเกจและโมดูล

แพ็คเกจ Maven

Maven ใช้สําหรับโครงการที่ใช้ Java

ลักษณะ:

  • โมเดลวัตถุโครงการ: แต่ละแพ็คเกจมีไฟล์ POM ที่อธิบายข้อมูลเมตาของโครงการ
  • รูปแบบ: ไฟล์ JAR (Java Archive) สําหรับไลบรารี WAR (Web Archive) สําหรับเว็บแอปพลิเคชัน
  • พิกัด: ระบุโดย groupId, artifactId และเวอร์ชัน
  • เครื่องมือสร้าง: Maven ทําหน้าที่เป็นทั้งตัวจัดการแพ็คเกจและเครื่องมือสร้างระบบอัตโนมัติ

แพ็คเกจ PyPI

PyPI (Python Package Index) ย่อมาจาก PyPI และรู้จักกันในชื่อ Cheese Shop เป็นที่เก็บซอฟต์แวร์ของบุคคลที่สามอย่างเป็นทางการสําหรับ Python

ลักษณะ:

  • รูปแบบ: การแจกแจงในรูปแบบวงล้อ (.whl) หรือการแจกแจงแหล่งที่มา (.tar.gz)
  • เครื่องมือ: จัดการโดยใช้ pip (ตัวติดตั้งแพ็คเกจสําหรับ Python)
  • เนื้อหา: โมดูลและแพ็คเกจ Python ที่มีการพึ่งพา
  • ข้อมูลเมตา:setup.py หรือ pyproject.toml ไฟล์กําหนดข้อมูลแพ็คเกจ

รูปภาพ Docker

แพ็คเกจ Docker เรียกว่าอิมเมจและมีการปรับใช้ส่วนประกอบที่สมบูรณ์และครบถ้วน

ลักษณะ:

  • มีในตัวเอง: อิมเมจ Docker มักแสดงถึงส่วนประกอบซอฟต์แวร์ที่สามารถโฮสต์และดําเนินการได้ด้วยตัวเอง
  • สถาปัตยกรรมแบบเลเยอร์: รูปภาพถูกสร้างขึ้นเป็นเลเยอร์เพื่อประสิทธิภาพและความสามารถในการนํากลับมาใช้ใหม่
  • ภาพพื้นฐาน: รูปภาพอาจขึ้นอยู่กับรูปภาพอื่นเป็นพื้นฐาน (เช่น Ubuntu, Alpine)
  • การลงทะเบียน: เก็บไว้ในรีจิสทรี Docker (Docker Hub, Azure Container Registry)

การเลือกประเภทบรรจุภัณฑ์ที่เหมาะสม

ชนิดของแพคเกจ การใช้งานหลัก ภาษา/แพลตฟอร์ม การเพิ่ม
นูเก็ท ไลบรารีและเครื่องมือ .NET ซี#, เอฟ#, VB.NET .nupkg
npm ไลบรารีและเฟรมเวิร์ก JavaScript JavaScript, TypeScript N/A (โฟลเดอร์)
Maven ไลบรารีและแอปพลิเคชัน Java ชวา, คอตลิน, สกาลา .jar, .war
ไพพีไอ ไลบรารีและแพ็คเกจ Python หลาม .whl, .tar.gz
นักเทียบท่า แอปพลิเคชันคอนเทนเนอร์ ภาษาใดก็ได้ เลเยอร์รูปภาพ