71

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

4

11 回答 11

119

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

sudo port selfupdate
于 2013-02-11T19:13:23.053 回答
44

我在防火墙后面。在不同的网络上试过,它工作。

于 2012-07-16T05:25:30.373 回答
21

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

基于command execution failed

  • 您可能忘记了以 root 身份运行。
  • port分叉以下程序:rsync, tclsh, openssl, tar, chmod, chown. 这些是可执行的PATH吗?(/opt/local/bin在你PATH的也是?)

如果这没有帮助,请运行 port with-dt以获取各种调试信息。这可能有助于发现问题。也许将有趣的部分附加到您的问题中。

于 2012-07-12T08:45:15.710 回答
17

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

转到:( $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上也对此进行了解释。

于 2015-02-24T08:59:42.540 回答
14

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

  • 接受许可

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

于 2013-10-23T19:02:44.307 回答
11

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

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

于 2013-07-07T02:49:29.857 回答
5

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

希望这可以帮助。

编辑:现在更喜欢使用自制软件

于 2013-06-10T08:02:51.990 回答
3

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

从 -dt "rsync: failed to connect to rsync.macports.org: Connection denied (61)" 的输出中可以看出

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

1)使用svn

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

您可以通过运行“sudo port -d sync”来测试更改

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

于 2015-04-10T10:16:24.130 回答
2

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

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

尝试使用其他网络。

于 2014-06-30T22:27:07.613 回答
1

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

# sudo xcodebuild license

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

于 2016-04-23T15:16:03.777 回答
0

就我而言,问题出在 Macports 内部!我用 Macports 更新了 rsync(Apple 提供的那个是旧的),然后 Macports 无法使用它(/opt/local/bin/rsync),而是要求使用不存在(或已经存在)的 /usr/bin/rsync使用 Macports rsync 强制删除?)。我在两者之间创建了一个软链接,现在它又可以工作了。

于 2016-05-20T07:51:55.530 回答