วิธีการติดตั้งซอฟต์แวร์โดยใช้ Git บน Linux

เผยแพร่แล้ว: 2022-01-29
รหัสบนหน้าจอแล็ปท็อป
MchlSkhrv/Shutterstock

คุณได้รับคำสั่งให้ "โคลน repo และสร้างมัน" และไม่รู้ว่าจะทำอย่างไรต่อไป? เราจะแสดงวิธีทำให้โปรแกรมนั้นทำงานบน GitHub บน Linux แม้ว่าคุณจะเป็นมือใหม่ก็ตาม

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

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

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

โปรแกรมควบคุมเวอร์ชัน

ไฟล์ซอร์สโค้ดทั้งหมดภายในโปรเจ็กต์เรียกว่า codebase โครงการขนาดใหญ่มักมีนักพัฒนาหลายคนที่ทำงานเกี่ยวกับฐานรหัส ทุกการเปลี่ยนแปลงโค้ดจะต้องถูกติดตามและระบุตัวตนได้ หากจำเป็น การเปลี่ยนแปลงจะต้องย้อนกลับได้ หากนักพัฒนาหลายคนทำการเปลี่ยนแปลงในไฟล์ซอร์สโค้ดเดียวกัน การแก้ไขของพวกเขาจะต้องถูกรวมเข้าด้วยกัน

โฆษณา

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

สิ่งเล็กๆที่เรียกว่ากิต

Linus Torvalds ผู้สร้างเคอร์เนลลินุกซ์ พัฒนาโปรแกรมควบคุมเวอร์ชันที่เรียกว่า Git เพื่อดูแลฐานข้อมูลเคอร์เนลของลินุกซ์ ตอนนี้เป็นซอฟต์แวร์ควบคุมเวอร์ชันที่ใช้กันอย่างแพร่หลายมากที่สุดในโลก มีผู้ใช้หลายล้านคน—ตามตัวอักษร

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

และนั่นคือที่มาของ GitHub

GitHub

GitHub ถูกสร้างขึ้นจากความสำเร็จของ git ผู้ก่อตั้งเห็นความจำเป็นที่เกิดขึ้นใหม่สำหรับการโฮสต์ที่เก็บ git ระยะไกลอย่างปลอดภัย พวกเขาเปิดตัวธุรกิจที่ให้บริการแพลตฟอร์มคลาวด์เพื่อให้ทีมพัฒนาโฮสต์ที่เก็บข้อมูลระยะไกลได้ ในเดือนเมษายน 2019 GitHub โฮสต์ที่เก็บมากกว่า 100 ล้านแห่ง

หากแอปพลิเคชันเป็นโครงการโอเพ่นซอร์ส มีโอกาสสูงมากที่จะโฮสต์บน GitHub มีแพลตฟอร์มพื้นที่เก็บข้อมูลอื่น ๆ เช่น BitBucket และ GitLab แต่ GitHub มีส่วนแบ่งของแหล่งเก็บข้อมูลโอเพ่นซอร์ส

กายวิภาคของที่เก็บ

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

โฆษณา

หากคุณรู้จักครัวแห่งหนึ่ง คุณสามารถนำทางไปยังห้องครัวใดก็ได้ มันเหมือนกันกับที่เก็บ เมื่อคุณเข้าใจข้อตกลงแล้ว คุณจะรู้ว่าจะไปหาสิ่งที่คุณต้องการได้จากที่ไหน

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

ไฟล์ readme

เป็นธรรมเนียมที่จะรวมไฟล์ readme ไว้ในที่เก็บ อาจเรียกว่า readme, Readme หรือ README อาจมีนามสกุล ".md" หรือไม่มีนามสกุลเลย

มาดูที่เก็บ GitHub สำหรับตัวแก้ไข Atom กัน คุณเห็นรายการโฟลเดอร์และไฟล์ยาวๆ เลื่อนลงมาและคุณจะเห็นเนื้อหาของไฟล์ README.md

GitHub วางเนื้อหาของไฟล์ readme ไว้ที่หน้าแรกของที่เก็บโดยอัตโนมัติ หากไฟล์ readme มีนามสกุล ".md" ก็จะมีภาษามาร์กอัปของ Markdown ซึ่งช่วยให้นักพัฒนาสามารถใช้องค์ประกอบสไตล์ เช่น ฟอนต์ สัญลักษณ์แสดงหัวข้อย่อย และรูปภาพ

ส่วนของไฟล์ readme.md สำหรับตัวแก้ไข atom บน github

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

โฆษณา

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

ที่เก็บกล่อง

ภารกิจของเราคือโคลนที่เก็บกล่องแล้วสร้างแอปพลิเคชัน boxes

ที่เก็บเป็นไปตามเลย์เอาต์เดียวกับที่ Atom ทำ มีรายการโฟลเดอร์และไฟล์ และด้านล่างเป็นเนื้อหาของไฟล์ readme มันเป็นไปตามเค้าโครงมาตรฐานสำหรับที่เก็บ แต่เป็นโปรเจ็กต์ที่เล็กกว่า จึงมีโฟลเดอร์และไฟล์น้อยลง

ไฟล์ readme ก็สั้นลงเช่นกัน มีส่วนที่เรียกว่า "การพัฒนา" ในส่วนนั้นจะมีลิงก์ชื่อ "การสร้างจากแหล่งที่มา" ถ้าเราไปตามลิงค์นั้น เราควรหาข้อมูลที่เราต้องการ

ลิงก์ไปยังคำแนะนำในการสร้างสำหรับแอปพลิเคชันกล่อง

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

การพึ่งพิง

หน้า "การสร้างจากแหล่งที่มา" มีส่วนที่เรียกว่า "การสร้างบน Linux" และนั่นคือสิ่งที่เราต้องการ มันบอกว่าเราต้องติดตั้งคอมไพเลอร์ C, Bison และ Flex

ชุดเครื่องมือที่จำเป็นสำหรับการสร้างกล่องแอพพลิเคชั่น

โฆษณา

คำแนะนำในการสร้างบอกว่าจะออกคำสั่ง make ดังนั้นเราจะต้อง make .

เครื่องมือที่จำเป็นในการสร้างแอปพลิเคชันนี้คือคอมไพเลอร์ C, Bison, Flex, make และ Git (เพื่อโคลนที่เก็บไปยังคอมพิวเตอร์ของคุณ)

บทความนี้ได้รับการวิจัยเกี่ยวกับคอมพิวเตอร์ที่ใช้ Ubuntu, Fedora และ Manjaro Linux ไม่มีการแจกจ่ายใดที่มีการติดตั้งเครื่องมือเหล่านี้ทั้งหมด—ต้องติดตั้งบางอย่างในแต่ละเครื่องมือ

การติดตั้งชุดเครื่องมือ

Ubuntu ต้องมี Git, Flex, Bison และ make ติดตั้ง นี่คือคำสั่ง:

 sudo apt-get ติดตั้ง git 

 sudo apt-get ติดตั้ง flex 

 sudo apt-get ติดตั้งกระทิง 

 sudo apt-get ติดตั้ง make 

Fedora ต้องมี Flex, Bison และ make ติดตั้ง นี่คือคำสั่ง:

 sudo dnf ติดตั้ง flex 

 sudo dnf ติดตั้งกระทิง 

 sudo dnf ติดตั้ง make 

Manjaro ต้องติดตั้งคอมไพเลอร์ GCC, Flex และ Bison นี่คือคำสั่ง:

 sudo pacman -Syu gcc 

 sudo pacman -Syu flex 

 sudo pacman -Syu กระทิง 

การโคลนที่เก็บ

ที่เก็บ GitHub แต่ละแห่งมีที่อยู่เว็บเฉพาะที่ใช้กับ Git เพื่อโคลนที่เก็บไปยังคอมพิวเตอร์ของคุณ ในหน้าหลักของที่เก็บกล่อง จะมีปุ่มสีเขียวกำกับว่า "โคลนหรือดาวน์โหลด"

ปุ่ม "โคลนหรือดาวน์โหลด" ใน GitHub

โฆษณา

คลิกปุ่มเพื่อดูที่อยู่เว็บ นี่คือที่อยู่ที่เราต้องส่งผ่านไปยังคำสั่ง git เมื่อเราโคลนที่เก็บ

เปลี่ยนเป็นไดเร็กทอรีที่เราต้องการให้โคลนที่เก็บ จากนั้นใช้คำสั่งนี้ หากหน้าต่างเทอร์มินัลของคุณรองรับ คุณสามารถคัดลอกและวางที่อยู่เว็บลงในคำสั่งได้ กด Ctrl+Shift+V เพื่อวางลงในหน้าต่างเทอร์มินัล GNOME

Git โคลนที่เก็บระยะไกลและสร้างที่เก็บข้อมูลในเครื่องคอมพิวเตอร์ของคุณ มันบอกเราว่ากำลังโคลนในไดเร็กทอรีที่เรียกว่า "boxes"

ไดเร็กทอรี box ถูกสร้างขึ้นภายในไดเร็กทอรีที่คุณออกคำสั่ง git หากเราสลับไปที่ไดเร็กทอรี box และดูที่เนื้อหา เราจะเห็นรายการไฟล์และโฟลเดอร์เดียวกันกับที่เราเห็นในหน้า GitHub

ยอดเยี่ยม! เราโคลนซอร์สโค้ดและไฟล์อื่นๆ ลงในคอมพิวเตอร์ของเราสำเร็จแล้ว ตอนนี้ เราต้องสร้างแอปพลิเคชัน

การสร้างแอปพลิเคชัน

ในการสร้างแอปพลิเคชัน เราต้องทำตามคำแนะนำบนที่เก็บ GitHub บางครั้ง เราจะเรียกใช้ไฟล์เชลล์บางไฟล์ และบางไฟล์เราจะเรียกใช้ make คำแนะนำในการสร้างที่เรากำลังติดตามบอกให้เราเรียกใช้ make

โฆษณา

ยูทิลิตี้ make อ่านและดำเนินการชุดคำสั่งจาก makefile คำแนะนำเหล่านี้บอก make การคอมไพล์โปรแกรมและเชื่อมโยงเข้าด้วยกัน make ส่งผ่านคำสั่งไปยังคอมไพเลอร์และเครื่องมือบิลด์อื่นๆ

คำสั่งที่เราบอกให้ใช้จะเรียก make สองครั้ง การเรียกครั้งแรกเพื่อ make แอปพลิเคชัน และการเรียกครั้งที่สองเป็นการเรียกใช้ชุดการทดสอบ

คำสั่งที่คำสั่ง build บอกให้เราใช้คือ:

 ทำ && ทำแบบทดสอบ 

เอาต์พุตหลายบรรทัดเลื่อนอย่างรวดเร็วในหน้าต่างเทอร์มินัล ในอีกสักครู่ คุณจะกลับไปที่พรอมต์คำสั่ง

การปรับใช้กล่อง Application

แอปพลิเคชันได้รับการสร้างขึ้น และเรามีไบนารีที่ปฏิบัติการได้ ตอนนี้เราต้องคัดลอกไบนารีไปยังไดเร็กทอรี /usr/bin/ ซึ่งช่วยให้เชลล์สามารถค้นหาได้เมื่อเราพยายามใช้งาน

โฆษณา

สำหรับบางแอปพลิเคชัน นี่อาจเป็นเพียงสิ่งที่คุณต้องทำ ในกรณีอื่นๆ คุณอาจต้องคัดลอกไฟล์เพิ่มเติม เช่น man page และ config files ไปยังตำแหน่งในระบบไฟล์ อย่างหลังคือสิ่งที่เราต้องทำกับแอปพลิเคชันใหม่ของเรา เนื่องจากมันอยู่ในคำแนะนำในการสร้าง

คำสั่งคัดลอกไฟล์จาก GitHub

ใช้ sudo เพื่อรันคำสั่งเหล่านี้ คำสั่งแรกคัดลอก man page ลงในไดเร็กทอรี man1:

 sudo cp doc/boxes.1 /usr/share/man/man1 

ถัดไป คัดลอกไฟล์กำหนดค่าส่วนกลางไปยังไดเร็กทอรีใน /usr/share/:

 sudo cp boxes-config /usr/share/boxes 

สุดท้าย คัดลอกไบนารีไปที่ /usr/bin:

 sudo cp src/กล่อง /usr/bin 

การทดสอบกล่อง Application

มาดูกันว่ามันใช้งานได้ทั้งหมดหรือไม่! ลองเปิดหน้าคนสำหรับคำสั่ง boxes

 กล่องผู้ชาย 

นั่นเป็นกำลังใจ! คุณเห็นหน้าคนบอกวิธีใช้คำสั่ง boxes

กด "Q" เพื่อออกจากระบบ man และลองใช้คำสั่ง boxes

 echo How-To Geek | กล่อง 

และเราได้รับคำตอบว่า

โฆษณา

นี้อาจดูเหมือนไม่ค่อยดีนักเมื่อพิจารณาถึงความพยายามทั้งหมดที่คุณได้ทำ แต่ประเด็นของแบบฝึกหัดนี้คือแนะนำคุณเกี่ยวกับการดึงที่เก็บจาก GitHub กลับมาและสร้างแอปพลิเคชัน

คำสั่ง boxes ให้คุณตัดข้อความที่ส่งไปยังข้อความในเฟรมต่างๆ บางส่วนสามารถใช้เป็นความคิดเห็นในไฟล์ซอร์สโค้ด รูปแบบข้างต้นจะทำงานเป็นความคิดเห็นในไฟล์ซอร์สโค้ด C เป็นต้น อื่น ๆ ตกแต่งอย่างหมดจด ตัวเลือก -d (การออกแบบ) ช่วยให้คุณเลือกรูปแบบของเฟรมได้

 echo How-To Geek | กล่อง -d หมุนวน
 echo How-To Geek | กล่อง -d c-cmt2 

มีรายการการออกแบบมากมายให้คุณเลือก หากต้องการดูทั้งหมด ให้ใช้คำสั่งนี้:

 กล่อง -l | น้อย

สร้างเสร็จสมบูรณ์

ขั้นตอนในการสร้างจากแหล่งที่มามักจะตรงไปตรงมา:

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

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

ที่เกี่ยวข้อง: แล็ปท็อป Linux ที่ดีที่สุดสำหรับนักพัฒนาและผู้ที่ชื่นชอบ