ไม่สามารถอัปเดต Macports (ด้วย Mac OS X Mavericks)


149

หลังจากอัปเกรด Mac OS X เป็น Mavericks เวอร์ชันใหม่ล่าสุดฉันพยายามอัปเดต Macports ของฉันด้วยตนเอง แต่ล้มเหลว:

$ sudo port -v selfupdate
--->  Updating MacPorts base sources using rsync
receiving file list ... done

sent 36 bytes  received 69 bytes  210.00 bytes/sec
total size is 4925440  speedup is 46908.95
receiving file list ... done

sent 36 bytes  received 76 bytes  74.67 bytes/sec
total size is 512  speedup is 4.57
MacPorts base version 2.2.0 installed,
MacPorts base version 2.2.1 downloaded.
--->  Updating the ports tree
Synchronizing local ports tree from rsync://rsync.macports.org/release/tarballs/ports.tar
receiving file list ... done

sent 36 bytes  received 70 bytes  70.67 bytes/sec
total size is 57702400  speedup is 544362.26
receiving file list ... done

sent 36 bytes  received 77 bytes  75.33 bytes/sec
total size is 512  speedup is 4.53
receiving file list ... rsync: change_dir "tarballs/PortIndex_darwin_13_i386" (in release) failed: No such file or directory (2)
done

sent 4 bytes  received 9 bytes  26.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-42/rsync/main.c(1400) [receiver=2.6.9]
Command failed: /usr/bin/rsync -rtzv --delete-after rsync://rsync.macports.org/release/tarballs/PortIndex_darwin_13_i386/PortIndex /opt/local/var/macports/sources/rsync.macports.org/release/tarballs
Exit code: 23
--->  MacPorts base is outdated, installing new version 2.2.1
Installing new MacPorts release in /opt/local as root:admin; permissions 0755; Tcl-Package in /Library/Tcl

checking build system type... x86_64-apple-darwin13.0.0
checking host system type... x86_64-apple-darwin13.0.0
checking target system type... x86_64-apple-darwin13.0.0
checking MacPorts version... 2.2.1
checking for sw_vers... /usr/bin/sw_vers
checking for defaults... /usr/bin/defaults
checking for xcode-select... /usr/bin/xcode-select
checking Mac OS X version... 10.9
checking Xcode location... /Applications/Xcode.app/Contents/Developer
checking Xcode version... 5.0.1
checking for gcc... /usr/bin/cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
<snip>
checking CommonCrypto/CommonDigest.h presence... yes
checking for CommonCrypto/CommonDigest.h... yes
checking for readline in -lreadline... yes
checking whether rl_username_completion_function is declared... no
checking whether rl_filename_completion_function is declared... yes
checking whether rl_completion_matches is declared... yes
checking whether username_completion_function is declared... yes
checking whether filename_completion_function is declared... yes
checking whether completion_matches is declared... yes
checking for Tcl configuration... configure: error: Can't find Tcl configuration definitions
Command failed: cd /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/base && CC=/usr/bin/cc OBJC=/usr/bin/cc ./configure --prefix=/opt/local --with-tclpackage=/Library/Tcl --with-install-user=root --with-install-group=admin --with-directory-mode=0755 --enable-readline && make SELFUPDATING=1 && make install SELFUPDATING=1
Exit code: 1
Error: Error installing new MacPorts base: command execution failed
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: /opt/local/bin/port: port selfupdate failed: Error installing new MacPorts base: command execution failed
$

ถ้าฉันแค่พยายามอัพเกรดพอร์ตเฉพาะมันก็ล้มเหลวด้วย:

$ sudo port upgrade emacsapp
Password:
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
Error: emacsapp is not installed
$ sudo port search emacs
Password:
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
$ sudo port upgrade emacs-app
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
--->  Fetching archive for gperf
--->  Attempting to fetch gperf-3.0.4_2.darwin_13.x86_64.tbz2 from http://packages.macports.org/gperf
--->  Attempting to fetch gperf-3.0.4_2.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/gperf
--->  Attempting to fetch gperf-3.0.4_2.darwin_13.x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/gperf
--->  Fetching distfiles for gperf
--->  Attempting to fetch gperf-3.0.4.tar.gz from http://ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/gperf
--->  Verifying checksums for gperf
--->  Extracting gperf
Error: org.macports.extract for port gperf returned: command execution failed
Please see the log file for port gperf for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gperf/gperf/main.log
Error: Problem while installing gperf
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
$

ความคิดใด ๆ

  • หากสิ่งนี้เกิดจากความไม่ลงรอยกันระหว่าง OS X Mavericks และ Macports
  • จะแก้ไขได้อย่างไร?

แก้ไข:

ฉันลองคอมพิวเตอร์เครื่องอื่นอัพเกรดจาก 10.8.5 เป็น 10.9 แล้วลองทำการอัปเดตตัวเองสำหรับ macports มันไม่ทำงานอีก แต่ให้ข้อผิดพลาดอื่น:

$ sudo port -v selfupdate
--->  Updating MacPorts base sources using rsync
receiving file list ... done
base.tar

sent 13396 bytes  received 10355 bytes  15834.00 bytes/sec
total size is 4925440  speedup is 207.38
receiving file list ... done
base.tar.rmd160

sent 64 bytes  received 635 bytes  1398.00 bytes/sec
total size is 512  speedup is 0.73
MacPorts base version 2.2.1 installed,
MacPorts base version 2.2.1 downloaded.
--->  Updating the ports tree
Synchronizing local ports tree from file:///opt/local/var/macports/sources/svn.macports.org/trunk/dports/
svn: E155036: Please see the 'svn upgrade' command
svn: E155036: Working copy '/opt/local/var/macports/sources/svn.macports.org/trunk/dports' is too old (format 10, created by Subversion 1.6)
Command failed: /usr/bin/svn update --non-interactive /opt/local/var/macports/sources/svn.macports.org/trunk/dports
Exit code: 1
Error: Synchronization of the local ports tree failed doing an svn update
Error: Couldn't sync the ports tree: Synchronization of 1 source(s) failed
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: /opt/local/bin/port: port selfupdate failed: Couldn't sync the ports tree: Synchronization of 1 source(s) failed


คำแนะนำที่ดี - ใช้งานได้สำหรับฉัน
lynxoid

คำตอบ:


282

ติดตั้ง "เครื่องมือบรรทัดคำสั่ง" ก่อน:

sudo xcode-select --install

(บางครั้งการเห็นด้วยกับใบอนุญาตอย่างชัดเจนจำเป็นต้องผ่าน "sudo xcodebuild -license")

จากนั้นอัพเกรดพอร์ต:

sudo port -v selfupdate

36
นอกจากนี้ยังอาจคุ้มค่าที่จะต้องทราบว่าคุณควรเห็นด้วยกับข้อกำหนดและเงื่อนไขโดยทำ: sudo xcodebuild -license ทำตามขั้นตอนแล้วพิมพ์ 'ตกลง' และกด Enter
astromax

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

8
อย่างน้อยสำหรับฉันข้อตกลงใบอนุญาตปรากฏขึ้นโดยไม่จำเป็นต้องขอมัน
PaulSkinner

เล็บสวยมากเลยล่ะ ขอบคุณ !!
Edson Medina

2
ตั้งแต่วันที่ 26 เมษายน 2014 คำสั่งเหล่านี้ใช้งานไม่ได้อีกต่อไป หนึ่งควรดาวน์โหลด "เครื่องมือบรรทัดคำสั่งสำหรับ OS X Mavericks" จากdeveloper.apple.com/downloads/index.action#และติดตั้ง
qazwsx

37

ฉันตอบคำถามที่คล้ายกัน ตำแหน่งของเฟรมเวิร์ก Tcl มีการเปลี่ยนแปลงโดยทำลายโครงสร้างพื้นฐาน MacPort ที่มีอยู่ โปรแกรมติดตั้งสำหรับ Mavericks 2.2.1 ได้กลายเป็นที่มีอยู่ที่นี่ ทำรายการพอร์ตที่คุณติดตั้งและพิจารณาลบ/opt/localก่อนทำการติดตั้ง คุณอาจจะต้อง 'อัพเดท' ทุกอย่างอยู่ดี


6
ติดตั้ง 2.2.1 แล้วทุกอย่างก็เริ่มทำงานอีกครั้ง ไม่ต้องลบอะไรเลย ขอบคุณสำหรับตัวชี้
Alex Polkhovsky

กันที่นี่ นี่คือคำตอบที่ถูกต้อง ใช่ผู้คนจำนวนมากไม่ได้ติดตั้งเครื่องมือบรรทัดคำสั่ง แต่เห็นได้ชัดว่าไม่ใช่ปัญหาที่นี่เนื่องจากการติดตามครั้งแรกที่แสดงให้เห็น
PatchyFog

นี่ถูกต้องแน่นอนโชคดีที่ฉันพบคำตอบนี้หลังจากที่คนอื่นเข้าใจผิดที่อื่น ขอบคุณ
Wonderland Hard-Boiled

macosx ไม่ได้มาพร้อมกับ tcl ที่ติดตั้งไว้แล้วใช่ไหม
Maysam Torabi

3

อาจมีโอกาสที่คุณไม่ได้ตกลงกับใบอนุญาต XCode หาก xcode-install ไม่ได้ช่วยคุณสามารถเรียกใช้คำสั่งด้านล่างเพื่อยอมรับกับ Xcode license sudo xcodebuild -license


2

มีข้อผิดพลาดจริงด้วย

gperf @ 3.0.4: ข้อผิดพลาด: เครื่องมือประกาศพารามิเตอร์ที่คาดไว้

Thankfully ปัญหานี้มีตั๋วของตัวเองที่ MacPorts ตั๋ว 40918

หากมีสิ่งใดที่คุณสามารถอ่านปัญหาทั้งหมดใน Mavericks ได้ที่http://trac.macports.org/wiki/MavericksProblems


2

ฉันมีปัญหาเดียวกัน ฉันสมมติว่าคุณได้ติดตั้ง utlet บรรทัดคำสั่ง Xcode ไว้ก่อนหน้านี้ เพียงเปิดใช้งาน XCODE และปล่อยให้การกำหนดค่าเสร็จสิ้น ตอนนี้รันคำสั่งพอร์ตอีกครั้งและควรทำงานอย่างถูกต้อง


1

ผมได้รับข้อผิดพลาดกับ SelfUpdate และการแก้ไขได้โดยทำการติดตั้งใหม่ของ MacPorts จากhttp://www.macports.org/install.php ตอนนี้ฉันสามารถรันคำสั่ง selfupdate ได้โดยไม่มีข้อผิดพลาดและติดตั้งพอร์ตอื่น

ข้อผิดพลาดที่ฉันเห็นอยู่ด้านล่างดูเหมือนว่าปัญหาเดียวกันกับ Yo Sophia ได้ชี้ให้เห็น:

$ sudo port selfupdate
Password:
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.1.3 installed,
MacPorts base version 2.2.1 downloaded.
--->  Updating the ports tree
--->  MacPorts base is outdated, installing new version 2.2.1
Installing new MacPorts release in /opt/local as root:admin; permissions 0755; Tcl-Package in /Library/Tcl

Error: /opt/local/bin/port: port selfupdate failed: Error installing new MacPorts base: command execution failed

0

ฉันต้องการที่จะแสดงความคิดเห็นในคำตอบของ @Brett ส่วนใหญ่ (ขออภัยดังนั้น n00b ยังไม่ได้รับอนุญาต) และแบ่งปันประสบการณ์การอัปเกรดของฉัน ... ไม่ใช่คำตอบใหม่จริงๆ แต่หวังว่าจะมีข้อมูลที่มีประโยชน์

ฉันดาวน์โหลดและติดตั้งตัวติดตั้ง Mavericks MacPorts ตามที่อธิบายไว้ข้างต้น (แต่ไม่ต้องลบ / เลือกตามที่แนะนำโดย @King Julian self updateซึ่งทำได้ดีupgrade outdatedและดูเหมือนว่าจะถอนการติดตั้งและติดตั้งพอร์ตทั้งหมดใหม่ด้วยข้อความ:

Warning: Deactivate forced.  Proceeding despite dependencies.

ในแต่ละคน โชคดีที่ฉันทำสำเนาของฯลฯและapache2 / conf dirs ดังนั้นควรจะได้รับการกำหนดค่าของฉันกลับมาในที่สุดเมื่อมันเสร็จสิ้นในที่สุด ... หลังจาก 30 นาทีหรือดังนั้นจึงโยนข้อผิดพลาด

Unable to open port: extra characters after close-quote

ดังนั้นฉันทำself updateอีกครั้งและupgrade outdatedดูเหมือนจะทำงานอีกครั้ง ...

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

ขออภัยถ้าข้อมูลมากเกินไป แต่หวังว่าจะช่วยได้!


0

ดูเหมือนว่าปัญหาจะเกิดขึ้นกับ Macports และตำแหน่งของเฟรมเวิร์ก Tcl และเป็นเส้นทางเมื่อติดตั้ง Xcode แล้ว ผมขอแนะนำให้ติดตั้งเวอร์ชันใหม่ของ Macports สำหรับ Mavericks ที่นี่: http://www.macports.org/install.php


0

ฉันมีปัญหานี้กับ Mountain Lion และเป็นจริงเกี่ยวกับ MacPorts ที่ดูเส้นทาง XCode แบบเก่า (ฉันมีหลายรุ่นรวมถึงการติดตั้งเบต้า) ฉันรันด้วยตัวเลือก -d และตรวจสอบไฟล์ config.log ที่ /opt/local/var/macports/sources/rsync.macports.org/release/base และรายงานข้อผิดพลาด: -

--- snip ---
...
configure:3331: checking for C compiler version
configure:3340: gcc --version >&5
Configured with: --prefix=/Applications/Xcode5-DP3.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
xcrun: Error: could not stat active Xcode path '/Applications/Xcode5-DP3.app/Contents/Developer'. (No such file or directory)
configure:3351: $? = 0
configure:3340: gcc -v >&5
Configured with: --prefix=/Applications/Xcode5-DP3.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
xcrun: Error: could not stat active Xcode path '/Applications/Xcode5-DP3.app/Contents/Developer'. (No such file or directory)
...
--- snip ---

ดังนั้นฉันจึงให้เส้นทางที่ถูกต้องโดยใช้: -

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

และนั่นก็แก้ไขมัน

ผมได้เบาะแสของฉันจากหน้านี้มีประโยชน์

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