Clangสามารถดาวน์โหลดได้จากที่เก็บซอฟต์แวร์อย่างเป็นทางการของ Ubuntu ดังนั้นวิธีการติดตั้งที่ง่ายที่สุดคือการอัปเดต APT และติดตั้งclangแพ็กเกจ คุณไม่จำเป็นต้องใช้คำแนะนำสำหรับ Clang เวอร์ชัน 9, 11 หรือ 12 ที่เฉพาะเจาะจงจาก Ubuntu รุ่นก่อนๆ อีกต่อไป
สำหรับระบบส่วนใหญ่ ให้รันคำสั่ง:
sudo apt update
sudo apt install clang
จากนั้นยืนยันคอมไพเลอร์ด้วย คำสั่ง `compiler` แพ็ก clang --versionเกจที่ไม่มีเวอร์ชันclangจะใช้เวอร์ชัน Clang เริ่มต้นที่เลือกโดยเวอร์ชัน Ubuntu ของคุณ
Ubuntu ติดตั้ง Clang เวอร์ชันใด?
Ubuntu เก็บclangแพ็กเกจเมตาเริ่มต้นไว้ในที่เก็บ Universe โดยเวอร์ชันคอมไพเลอร์พื้นฐานจะแตกต่างกันไปตามแต่ละรุ่น ปัจจุบันดัชนีแพ็กเกจอย่างเป็นทางการของ Ubuntu แสดงรายการเริ่มต้นดังต่อไปนี้:
| การเปิดตัว Ubuntu | คอมไพเลอร์เริ่มต้นเบื้องหลังclang |
| 22.04 LTS | Clang 14 |
| 24.04 LTS | Clang 18 |
| 26.04 LTS | Clang 21 |
คุณสามารถตรวจสอบแพ็กเกจเหล่านี้ได้ในดัชนีแพ็กเกจอย่างเป็นทางการของ Ubuntuบนคอมพิวเตอร์ของคุณเองapt-cache policy clangจะแสดงแพ็กเกจที่ APT จะติดตั้งอย่างแม่นยำ
ติดตั้ง Clang บน Ubuntu ด้วย APT
1. รีเฟรชรายการแพ็กเกจ
เปิดเทอร์มินัลและอัปเดตดัชนีแพ็กเกจในเครื่องของ APT:
sudo apt update
รีเฟรชรายการแพ็กเกจของ Ubuntu ก่อนติดตั้ง Clang
2. ติดตั้งคอมไพเลอร์ Clang
ติดตั้งแพ็คเกจคอมไพเลอร์เริ่มต้นสำหรับ Ubuntu เวอร์ชันของคุณ:
sudo apt install clang
APT จะติดตั้งคอมไพเลอร์และส่วนประกอบที่จำเป็น--install-suggestsตัวเลือก "เก่า" ไม่จำเป็นสำหรับการติดตั้ง Clang ตามปกติ
แพ็คเกจ นี้clangจะติดตั้งคอมไพเลอร์ Clang ซึ่งเป็นค่าเริ่มต้นของ Ubuntu
หาก APT แจ้งว่าไม่พบแพ็กเกจ โปรดตรวจสอบให้แน่ใจว่าได้เปิดใช้งานที่เก็บข้อมูล Universe แล้ว จากนั้นรีเฟรชดัชนีอีกครั้ง:
sudo add-apt-repository universe
sudo apt update
sudo apt install clang
ในการติดตั้งแบบขั้นต่ำที่add-apt-repositoryขาดหายไป ให้ติดตั้งsoftware-properties-commonก่อน
3. ตรวจสอบ Clang และ Clang++
ตรวจสอบไดรเวอร์คอมไพเลอร์ทั้ง C และ C++:
clang --version
clang++ --version
หมายเลขเวอร์ชันอาจแตกต่างจากภาพตัวอย่าง เนื่องจากขึ้นอยู่กับเวอร์ชัน Ubuntu ของคุณและการอัปเดตที่เปิดใช้งานอยู่
ใช้clang --versionคำสั่งนี้เพื่อตรวจสอบว่า Ubuntu ติดตั้งคอมไพเลอร์ตัวใด
4. คอมไพล์โปรแกรมภาษาซีขนาดเล็ก
สร้างไฟล์ที่มีชื่อhello.cตามโค้ดนี้:
#include <stdio.h>
int main(void) {
printf("Hello, Clang!\n");
return 0;
}
คอมไพล์และเรียกใช้ไฟล์ปฏิบัติการ:
clang hello.c -o hello
./hello
คุณควรดูคู่มือคำสั่ง ClangHello, Clang!อย่างเป็นทางการซึ่งอธิบายโหมดและตัวเลือกเพิ่มเติมของคอมไพเลอร์
การทดสอบที่ประสบความสำเร็จยืนยันว่า Clang สามารถคอมไพล์และเชื่อมโยงโปรแกรม C อย่างง่ายได้
ติดตั้ง Clang เวอร์ชันเฉพาะ
หากโปรเจ็กต์ใดต้องการชุดเครื่องมือเฉพาะ ให้ตรวจสอบก่อนว่ามีแพ็กเกจเวอร์ชันใดบ้างในที่เก็บแพ็กเกจ Ubuntu ที่คุณกำหนดค่าไว้:
apt-cache search '^clang-[0-9][0-9]*$'
จากนั้นติดตั้งเวอร์ชันที่คุณต้องการ ตัวอย่างเช่น Ubuntu 24.04 LTS มีเวอร์ชัน เริ่มต้น clang-18คือ ในขณะที่ Ubuntu 26.04 LTS มีclang-21เวอร์ชันเริ่มต้นคือ:
sudo apt install clang-18
# or, on a release that provides it:
sudo apt install clang-21
ใช้ไฟล์ปฏิบัติการที่ตรงกัน เช่นclang-18หรือclang-21เมื่อคุณต้องการหลีกเลี่ยงความกำกวม ระบบการสร้างยังสามารถชี้ไปยังคอมไพเลอร์เฉพาะด้วยตัวแปร เช่นCC=clang-21และ ได้อีกCXX=clang++-21ด้วย
ต้องการ LLVM/Clang เวอร์ชันใหม่กว่าหรือไม่?
หากคลังซอฟต์แวร์ของ Ubuntu ไม่มีเวอร์ชันที่โปรเจ็กต์ของคุณต้องการ LLVM มีคลังซอฟต์แวร์อย่างเป็นทางการสำหรับ Debian/Ubuntu ที่apt.llvm.orgสคริปต์การติดตั้งสามารถเพิ่มคลังซอฟต์แวร์ต้นทางที่เหมาะสมและติดตั้งเวอร์ชัน LLVM ที่เลือกได้ วิธีที่ปลอดภัยกว่าคือการดาวน์โหลดและตรวจสอบสคริปต์ก่อนเรียกใช้งาน:
wget https://apt.llvm.org/llvm.sh
less llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh <version-number>
แพ็กเกจจาก apt.llvm.org เป็นแพ็กเกจ LLVM ต้นทาง ไม่ใช่แพ็กเกจจากคลังเก็บข้อมูลของ Ubuntu ดังนั้นควรใช้แพ็กเกจเหล่านี้เมื่อคุณต้องการชุดเครื่องมือที่ใหม่กว่าโดยเฉพาะ แทนที่จะแทนที่ชุดเครื่องมือเริ่มต้นของ Ubuntu โดยไม่มีเหตุผล
ปัญหาการติดตั้งทั่วไป
- “ไม่พบแพ็กเกจ clang”: เรียกใช้คำสั่ง ` npm run src`
sudo apt update, ตรวจสอบว่า Universe เปิดใช้งานอยู่ และตรวจสอบให้แน่ใจว่า Ubuntu เวอร์ชันนั้นยังคงได้รับการสนับสนุนอยู่
- การเรียกใช้ Clang ที่ไม่ถูกต้อง:ตรวจสอบ
command -v clangและclang --version. หากมีการติดตั้งหลายเวอร์ชัน ให้เรียกใช้ไบนารีเวอร์ชันโดยตรง
- การสร้างโปรเจ็กต์ด้วย C++ ล้มเหลว:ให้ใช้
clang++สำหรับการลิงก์ C++ เนื่องจากจะจัดการการตั้งค่าไลบรารีมาตรฐาน C++ ที่โปรเจ็กต์ทั่วไปต้องการโดยอัตโนมัติ
- โปรเจ็กต์หนึ่งๆ อาจต้องการเครื่องมือสร้างเพิ่มเติม: Clang เป็นเพียงคอมไพเลอร์เท่านั้น โปรเจ็กต์อาจต้องการแพ็กเกจเพิ่มเติมอื่นๆ เช่น
build-essential, , cmakeหรือ แยกต่างหากninja-build