macports - tarballs - port: command not found




端口selfupdate:“macPorts來源:命令執行失敗” (8)

我試圖selfupdate我的selfupdate ,但我收到以下消息:

Error: /opt/local/bin/port: port selfupdate failed: Error synchronizing 
MacPorts sources: command execution failed

我檢查了我的/opt/local/bin/macports並且該目錄不存在。 相反,它位於/opt/local/var 。 這可能是問題嗎?

使用-dt運行,我得到以下內容:

[Users/user] > selfupdate
DEBUG: MacPorts sources location: /opt/local/var/macports/sources/rsync.macports.org/release/base
--->  Updating MacPorts base sources using rsync
rsync: failed to connect to rsync.macports.org: Connection refused (61)
rsync error: error in socket IO (code 10) at /SourceCache/rsync/rsync-42/rsync/clientserver.c(105) [receiver=2.6.9]
Command failed: /usr/bin/rsync -rtzv --delete-after rsync://rsync.macports.org/release/base/ /opt/local/var/macports/sources/rsync.macports.org/release/base
Exit code: 10
DEBUG: Error synchronizing MacPorts sources: command execution failed
    while executing
"macports::selfupdate [array get global_options] base_updated"
Error: /opt/local/bin/port: port selfupdate failed: Error synchronizing MacPorts sources: command execution failed

什麼是錯誤61? 任何想法如何解決這個問題?


如果其他人有這個問題,他們最近更新了XCode,我的問題的根源是命令行工具已從最新版本中省略。

通過XCode首選項面板打開XCode並安裝命令行工具修復了MacPorts引發的此錯誤。


如果您的公司通過rsync阻止訪問,則可以使用http tarball。 here解釋

希望這可以幫助。

編輯:現在更喜歡使用自製軟件


就我而言,這個問題是Macports的內部問題! 我使用Macports更新了rsync(Apple提供的舊版本),然後Macports未能使用它(/ opt / local / bin / rsync),但卻詢問是否使用/ usr / bin / rsync,它不存在(或已擦除以強制使用Macports rsync?)。 我在兩者之間創建了一個軟鏈接,現在它再次運行。


我也有同樣的錯誤。 這是因為網絡連接被拒絕。 如果您使用大學/公司WiFi或公共連接,防火牆將拒絕連接。

正如您從-dt“rsync的輸出中看到的:未能連接到rsync.macports.org:連接被拒絕(61)”

在macports網站上提供了可用的解決方法:

1)使用svn

2)如果svn也失敗了,你可以嘗試使用here

您可以通過運行“sudo port -d sync”來測試更改

注意:如果https失敗,您可以用http替換它。 但是不建議這樣做,因為您將從不安全的連接中獲取信息。


我面臨同樣的問題。 主要問題是我的網絡。 由於網絡端口被阻塞;

rsync的://rsync.macports.org/release/tarballs/ports.tar

嘗試使用另一個網絡。


我面臨同樣的問題。但我習慣這種方法後。

轉到: $prefix/etc/macports/sources.conf (我的路徑是這樣的)

/opt/local/etc/macports/sources.conf 

註釋掉rsync條目,並添加一個新條目,如下所示:

#rsync://rsync.macports.org/release/tarballs/ports.tar [default]
https://distfiles.macports.org/ports.tar.gz [default]

之後你可以運行:

sudo port -d sync

這也在MacPorts.com解釋。


最近我有這個問題,我忘了在root下運行這個命令。 如果其他人遇到問題,請確保按以下方式運行命令:

sudo port selfupdate

沒有/opt/local/bin/macports 。 您需要的可執行文件是/opt/local/bin/port 。 (端口文件在/opt/local/var/... ,這是正確的。)

基於command execution failed

  • 你可能忘記以root身份運行。
  • port分叉以下程序: rsynctclshopenssltarchmodchown 。 這些是可執行的並且在PATH ? (在PATH/opt/local/bin ?)

如果這沒有幫助,請使用-dt運行port以獲取各種調試信息。 這可能有助於發現問題。 也許,將有趣的部分附加到您的問題上。