MacPorts: ทำการติดตั้งการอัพเดทอื่น ๆ หลังจากเกิดข้อผิดพลาด


12

ว่าฉันมีแพคเกจที่ล้าสมัยต่อไปนี้:

  • foo
  • บาร์
  • baz

ฉันต้องการอัปเดตให้มากที่สุดเท่าที่จะทำได้ดังนั้นฉันจึงพยายามเรียกใช้:

sudo port -n -f upgrade outdated

อย่างไรก็ตามสิ่งนี้ล้มเหลวด้วย:

Error: org.macports.build for port foo returned: command execution failed
Please see the log file for port foo for details: ...

ฉันจะทำให้ macports ลองอัพเกรด bar และ baz ได้อย่างไรถ้า foo ล้มเหลว?

โดยทั่วไปฉันต้องการให้ macports ลองติดตั้ง / อัปเกรดพอร์ตอื่น ๆ หากการติดตั้ง / อัปเกรดบางพอร์ตล้มเหลวและดำเนินการต่อ


จากหน้าคน:

 -f       force mode (ignore state file)

 

 -n       don't upgrade dependencies (affects upgrade and install)

แก้ไข: foo, bar & baz, เป็น 3 พอร์ตที่ไม่เกี่ยวข้องทั้งหมด, ซึ่งไม่ได้ขึ้นอยู่กับแต่ละอื่น ๆ


แก้ไข 2:ครั้งต่อไปที่ฉันเรียกใช้พอร์ตที่ล้าสมัยอาจจะเป็น & b แทนที่จะเป็น foo, bar & baz ดังนั้นฉันจึงไม่สามารถ hardcode ของความล้มเหลวและฉันไม่สามารถทำได้:

sudo port update foo
sudo port update bar
sudo port update baz

คำตอบ:


8

-pดูเหมือนว่าจะทำงานสำหรับฉัน

จาก manpage:

-p แม้จะพบข้อผิดพลาดให้ดำเนินการกับหลาย ๆ กระบวนการ
         พอร์ตและคำสั่ง

แต่ดูคำแนะนำจาก MacPort dev ด้านล่าง .... ไม่แนะนำให้ใช้การตั้งค่าสถานะนี้!
jvriesem

5

นักพัฒนา MacPort ที่นี่; คำตอบที่ถูกต้องสำหรับคำถามของคุณคือ: คุณทำไม่ได้

มีเหตุผลที่ MacPorts ไม่พยายามติดตั้งแพ็กเกจเมื่อการพึ่งพาล้มเหลวในการสร้าง

มีการพูดถึงคำถามที่แน่นอนนี้ในรายชื่อผู้รับจดหมาย macports-users เมื่อไม่นานมานี้:


1
foo, bar & baz, เป็นพอร์ตที่ไม่เกี่ยวข้องทั้งหมด 3 พอร์ต, ซึ่งไม่ได้ขึ้นอยู่กับแต่ละอื่น ๆ
Tyilo

1
ในกรณีนี้คุณสามารถอัปเดตได้ด้วยตนเองเสมอเช่น sudo port upgrade baz, sudo port upgrade bar, sudo port upgrade foo
Clemens Lang

ดูคำถาม "แก้ไข 2"
Tyilo

นี่เป็นคำตอบที่ถูกต้องหาก MacPort dev พูดกับมัน
jvriesem

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

5

นอกจากนี้คุณยังสามารถระบุ "ล้าสมัยและไม่ฟู" ในคำสั่งอัปเกรดแทนที่จะเป็น "ล้าสมัย"


ดูคำถาม "แก้ไข 2"
Tyilo

1

พิจารณาตั๋วปิดเก่าข้อบกพร่องที่ได้รับการแก้ไข:

333 (ความล้มเหลวในการพึ่งพาถูกละเว้นและพอร์ตยังคงลองและติดตั้ง) - MacPorts

หากฉันเข้าใจอย่างถูกต้อง: เพื่อดำเนินการตามความล้มเหลวต่อไปในบางกรณีอาจมีข้อบกพร่อง

ในคำอื่น ๆ :

  • มันเหมาะสม (มีความเสี่ยงน้อยที่สุด) ที่จะไม่ดำเนินการต่อ

Postscript: ฉันขี้เกียจเกินไปที่จะอ่าน man page อย่างครบถ้วน (ไม่พบในเมนู Help ของ Terminal แต่ก็ไม่มีข้อแก้ตัว) ทำตามคำแนะนำจากใครบางคนในirc://irc.freenode.net/#macportsฉันตัดสินใจที่จะออกคำตอบนี้

ป้อนคำอธิบายรูปภาพที่นี่

ฉันไม่เคยรู้ตัว-pเลือก ขอบคุณ Tyilo

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.