Không thể cập nhật Macports (với Mac OS X Mavericks)


149

Sau khi nâng cấp Mac OS X lên phiên bản Mavericks mới nhất, tôi đã cố gắng tự phục hồi Macports của mình, nhưng không thành công:

$ 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
$

Nếu tôi chỉ cố gắng nâng cấp một cổng cụ thể thì nó cũng thất bại:

$ 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
$

Bất kỳ ý tưởng

  • Nếu điều này được gây ra bởi sự không tương thích giữa OS X Mavericks và Macports?
  • Làm thế nào để sửa nó?

Biên tập:

Tôi đã thử một máy tính khác nâng cấp nó từ 10.8.5 lên 10.9, và sau đó thử tự sướng cho macports, nó không hoạt động trở lại nhưng lại gặp một lỗi khác:

$ 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


lời khuyên tuyệt vời - đã làm việc cho tôi
lynxoid

Câu trả lời:


282

Trước tiên hãy cài đặt "Công cụ dòng lệnh":

sudo xcode-select --install

(Đôi khi đồng ý với giấy phép rõ ràng là cần thiết thông qua "sudo xcodebuild -license")

Sau đó nâng cấp các cổng:

sudo port -v selfupdate

36
Cũng có thể đáng lưu ý rằng bạn có thể nên đồng ý với các điều khoản và điều kiện bằng cách thực hiện: sudo xcodebuild -license. Chạy qua các bước và nhập 'đồng ý' và nhấn enter.
Astromax

5
Nếu bạn không làm điều này, khi bạn chạy selfupdate, một số cổng sẽ thất bại.
Astromax

8
Đối với tôi ít nhất, thỏa thuận cấp phép bật lên mà không cần phải yêu cầu.
PaulSkinner

Đó là khá nhiều móng tay nó. Cảm ơn!!
Edson Medina

2
Kể từ ngày 26 tháng 4 năm 2014. Các lệnh này không còn hoạt động. Có lẽ mọi người nên tải xuống "Công cụ dòng lệnh cho OS X Mavericks" từ developer.apple.com/doads/index.action# và cài đặt nó.
qazwsx

37

Tôi đã trả lời một câu hỏi tương tự. Vị trí của khung Tcl đã thay đổi, phá vỡ cơ sở hạ tầng MacPorts hiện có. Trình cài đặt 2.2.1 cho Mavericks đã có sẵn tại đây . Lập danh sách các cổng đã cài đặt của bạn và xem xét xóa /opt/localtrước khi cài đặt. Bạn có thể sẽ cần phải 'cập nhật' mọi thứ.


6
Đã cài đặt 2.2.1 và mọi thứ bắt đầu hoạt động trở lại. Không phải xóa bất cứ thứ gì. Cảm ơn bạn cho con trỏ.
Alex Polkhovsky

Tương tự ở đây. Đây là câu trả lời chính xác. Có, rất nhiều người không cài đặt các công cụ dòng lệnh, nhưng rõ ràng đó không phải là vấn đề ở đây, vì dấu vết đầu tiên được cung cấp cho thấy.
PatchyFog

Điều này thực sự chính xác, may mắn tôi đã tìm thấy câu trả lời này ngay sau khi những người khác hiểu sai ở nơi khác. Cảm ơn.
Xứ sở thần tiên luộc chín

macosx không đi kèm với cài đặt sẵn tcl, phải không?
Maysam Torabi

3

Có thể bạn chưa đồng ý với giấy phép XCode. Nếu xcode-install không giúp ích, bạn có thể chạy lệnh bên dưới để đồng ý với giấy phép Xcode. sudo xcodebuild -license



2

Tôi gặp vấn đề tương tự. Tôi giả sử rằng bạn đã cài đặt các dòng lệnh Xcode trước đó. Chỉ cần khởi chạy XCODE và để nó kết thúc cấu hình. Bây giờ chạy lại lệnh cổng và nó sẽ hoạt động đúng.


1

Tôi đã gặp lỗi với selfupdate và đã khắc phục bằng cách cài đặt MacPorts mới từ http://www.macports.org/install.php . Bây giờ tôi có thể chạy lệnh selfupdate mà không gặp lỗi và cài đặt các cổng khác.

Lỗi tôi đã thấy là bên dưới, có vẻ như vấn đề tương tự như Yo Sophia đã chỉ ra:

$ 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

Tôi chủ yếu muốn bình luận về câu trả lời của @ Brett ở trên (xin lỗi, SO n00b vẫn không được phép) và chia sẻ kinh nghiệm nâng cấp của tôi ... không thực sự là một câu trả lời mới, nhưng hy vọng một số thông tin hữu ích.

Tôi đã tải xuống và cài đặt trình cài đặt Mavericks MacPorts như được mô tả ở trên, nhưng không xóa / opt, như được đề xuất bởi @King Julian đã làm self updatetốt, và sau đó upgrade outdatednó dường như đang gỡ cài đặt và cài đặt lại tất cả các cổng của tôi bằng một tin nhắn:

Warning: Deactivate forced.  Proceeding despite dependencies.

trên mỗi một. May mắn thay, tôi đã tạo một bản sao của các thư mục vvapache2 / conf , vì vậy sẽ có thể lấy lại cấu hình của tôi khi nó kết thúc ... sau 30 phút hoặc lâu hơn, nó đã gây ra lỗi

Unable to open port: extra characters after close-quote

Vì vậy, tôi đã làm self updatelại và upgrade outdateddường như chạy lại ...

Vì vậy, có vẻ như nó có thể được thực hiện (LAMP tất cả đều hoạt động) - có thể nhanh hơn để bắt đầu lại từ đầu, nhưng hãy đảm bảo bạn có ít nhất vài giờ rảnh rỗi cho việc này (và được kết nối với nguồn điện lưới;)

Xin lỗi nếu quá nhiều thông tin, nhưng hy vọng nó sẽ giúp!


0

Vấn đề dường như là với Macports và vị trí của khung Tcl và đó là đường dẫn khi Xcode đã được cài đặt. Tôi khuyên bạn nên cài đặt phiên bản Macports mới cho Mavericks tại đây: http://www.macports.org/install.php .


0

Tôi đã gặp vấn đề này trên Mountain Lion và nó thực sự có liên quan đến MacPorts khi nhìn vào đường dẫn XCode cũ (tôi đã có một số phiên bản bao gồm cả betas được cài đặt). Tôi đã chạy với tùy chọn -d và kiểm tra tệp config.log tại /opt/local/var/macports/source/rsync.macports.org/release/base và nó đã báo cáo một số lỗi: -

--- 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 ---

Vì vậy, tôi đã cho nó đường dẫn chính xác bằng cách sử dụng: -

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

và nó đã sửa nó.

Tôi có manh mối của tôi từ trang hữu ích này .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.