คำถามนี้ถูกถามก่อนหน้านี้ ที่นี่ และ ที่นี่แต่คำถามของฉันแตกต่างกันเล็กน้อย โดยเฉพาะอย่างยิ่ง สมมติว่าฉันต้องการติดตั้งเหมือนกัน คอมไพล์
เวอร์ชันบนเครื่องเป็นเครื่องของฉัน ฉันวิ่งก่อน sudo apt-cache นโยบายคอมไพล์
ซึ่งทำให้ฉัน:
ติดตั้งแล้ว: 1:2.32.0-1~ppa0~ubuntu20.04.1
ผู้สมัคร: 1:2.32.0-1~ppa0~ubuntu20.04.1
ตารางเวอร์ชัน:
*** 1:2.32.0-1~ppa0~ubuntu20.04.1 500
500 http://ppa.launchpad.net/git-core/ppa/ubuntu focal/main แพ็คเกจ amd64
100 /var/lib/dpkg/สถานะ
1:2.25.1-1ubuntu3.1 500
500 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 แพ็คเกจ
500 http://security.ubuntu.com/ubuntu focal-security/main แพ็คเกจ amd64
1:2.25.1-1ubuntu3 500
500 http://us.archive.ubuntu.com/ubuntu focal/main แพ็คเกจ amd64
ฉันสังเกตเห็นว่าเวอร์ชันคือ 2.32.0 ถ้า คอมไพล์
เป็นแพ็คเกจ Python ด้วย pip
ฉันก็แค่ทำ pip ติดตั้ง git==2.32.0
เพื่อติดตั้งแต่ด้วย ฉลาดรับ
ฉันต้องทำ:
sudo apt-get install git=1:2.32.0-1~ppa0~ubuntu20.04.1
โดยเฉพาะอย่างยิ่งฉันต้องระบุ 1:2.32.0-1~ppa0~ubuntu20.04.1
. ไม่มีวิธีใดที่จะระบุว่าฉันต้องการ 2.32.0 โดยไม่มีสิ่งอื่นใช่หรือไม่
แก้ไข: สำหรับบริบทเพิ่มเติม ฉันกำลังพยายามสร้างอิมเมจ Docker ด้วยเวอร์ชันแพ็คเกจเฉพาะ ตาม เอกสารนักเทียบท่าฉันควรจะทำได้:
RUN apt-get update && apt-get install -y \
แพ็คเกจบาร์ \
แพ็คเกจ-baz \
package-foo=1.3.*
สังเกตส่วน package-foo=1.3.*
. ฉันลองสิ่งนี้ด้วยคอมไพล์บนเครื่องของฉัน:
sudo apt-get ติดตั้ง git=2.32.*
แต่ฉันได้รับ:
กำลังอ่านรายการแพ็กเกจ...เสร็จแล้ว
สร้างต้นไม้พึ่งพา
กำลังอ่านข้อมูลสถานะ...
E: ไม่พบเวอร์ชัน '2.32.*' สำหรับ 'git'
ในขณะที่ทำเพียง sudo apt-get ติดตั้งคอมไพล์
ทำงาน