port selfupdate:“macPorts来源:命令执行失败”

时间:2012-07-12 07:26:29

标签: macports

我正在尝试selfupdate我的Macports,但我收到以下消息:

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?我有什么想法可以解决这个问题吗?

11 个答案:

答案 0 :(得分:121)

我最近遇到了同样的问题,我忘了在root下运行命令。如果其他人遇到问题,请务必按以下方式运行命令:

sudo port selfupdate

答案 1 :(得分:44)

我在防火墙后面。尝试在不同的网络上运行。

答案 2 :(得分:21)

没有/opt/local/bin/macports。您需要的可执行文件是/opt/local/bin/port。 (端口文件位于/opt/local/var/...,这是正确的。)

基于command execution failed

  • 您可能忘记以root身份运行。
  • port分享以下程序:rsynctclshopenssltarchmodchown。 这些是可执行的并且在PATH中吗? (/opt/local/bin也是PATH吗?)

如果这没有帮助,请使用-dt运行端口以获取各种调试信息。这可能有助于找到问题。可能会将有趣的部分附加到您的问题中。

答案 3 :(得分:16)

我遇到了同样的问题。但我习惯了这种方法。

转到: $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上解释。

答案 4 :(得分:14)

Mavericks更新:为确保安装XCode命令行工具,打开终端并运行xcode-select –-install,然后按照弹出窗口中的说明操作:

  • 接受许可

当然,这是其他提示的补充,例如确保运行sudo port selfupdate

答案 5 :(得分:11)

如果有其他人遇到此问题并且他们最近更新了XCode,我问题的根源是最新版本中省略了命令行工具。

通过XCode首选项面板打开XCode并安装命令行工具修复了MacPorts抛出此错误。

答案 6 :(得分:5)

如果您的公司通过rsync阻止访问,您可以使用http tarball。解释here

希望这有帮助。

编辑:现在更喜欢使用homebrew

答案 7 :(得分:2)

我遇到了同样的问题。 主要问题是我的网络。因为NETWORK端口被阻止了;

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

尝试使用其他网络。

答案 8 :(得分:2)

我也有同样的错误。这是因为网络连接被拒绝了。如果您使用大学/公司WiFi或公共连接,防火墙将拒绝连接。

从-dt" rsync的输出中可以看到:无法连接到rsync.macports.org:连接被拒绝(61)"

macports网站上提供了可用的解决方法:

1)使用svn

2)如果svn也失败,您可以尝试使用Daily tarball

您可以通过运行" sudo port -d sync"

来测试更改

注意:如果https失败,您可以将其替换为http。但不建议这样做,因为你将从不安全的连接中获取。

答案 9 :(得分:1)

对于仍然存在问题的人,也许您忘了同意Xcode许可证:

# sudo xcodebuild license

记得仔细查看并最后输入“同意”。

答案 10 :(得分:0)

就我而言,问题是Macports的内部问题!我使用Macports更新了rsync(由Apple提供的旧版本),然后Macports未能使用它(/ opt / local / bin / rsync),而是要求使用不存在的/ usr / bin / rsync(或者已经使用过)擦除强制使用Macports rsync?)。我在两者之间创建了一个软链接,现在它再次起作用。