MacPorts:错误后继续安装其他更新


12

说我有以下过时的软件包:

  • 酒吧
  • 巴兹

我想尽可能多地更新它们,所以我尝试运行:

sudo port -n -f upgrade outdated

但是,此操作失败:

Error: org.macports.build for port foo returned: command execution failed
Please see the log file for port foo for details: ...

如果foo失败,如何使macports尝试升级bar和baz?

如果要安装/升级其中的某些端口失败,然后继续,我通常希望macports尝试安装/升级其他端口。


从手册页:

 -f       force mode (ignore state file)

 

 -n       don't upgrade dependencies (affects upgrade and install)

编辑: foo,bar和baz是总共3个不相关的端口,它们之间不以任何方式相互依赖。


编辑2:下次我运行此端口时,过时的端口可能是a,b和c,而不是foo,bar和baz,所以我不能对失败的端口进行硬编码,而我也不能这样做:

sudo port update foo
sudo port update bar
sudo port update baz

Answers:


8

-p似乎为我工作。

从联机帮助页:

-p尽管遇到任何错误,请继续处理多个
         端口和命令。

但是请参阅下面MacPorts开发人员的警告。...不建议使用此标志!
jvriesem

5

MacPorts开发人员在这里;您问题的正确答案是:您没有。

有一个原因为什么当依赖项无法建立时,MacPorts不会尝试安装软件包。

不久前,在macports-users邮件列表上已经讨论了这个确切的问题:


1
foo,bar和baz是总共3个不相关的端口,它们之间互不依赖。
蒂洛2012年

1
在这种情况下,您始终可以手动更新它们,即sudo端口升级baz,sudo端口升级栏,sudo端口升级foo。
Clemens Lang

请参阅有问题的“编辑2”。
蒂洛2012年

如果与MacPorts开发人员交谈,这应该是正确的答案。
jvriesem '16

如果MacPorts除了稳定,那可能是一个可以接受的答案。不幸的是,许多软件包依赖于大多数情况下实际上并不需要的许多可选事物,并且端口的每秒升级都会失败,因为macports是一堆不稳定的废话。
Bachsau

5

您也可以在升级命令中指定“过时而不是foo”,而不仅仅是“过时”。


请参阅有问题的“编辑2”。
蒂洛2012年

1

考虑到旧的封闭票证,已修复的缺陷:

333(依赖性故障被忽略,端口继续尝试安装)– MacPorts

如果我理解正确:在某些情况下,继续执行故障可能是有缺陷的。

换一种说法:

  • 继续是适当的(风险最小)。

后记:我太懒了,无法完整阅读手册页(在Terminal的“帮助”菜单中找不到该手册页,但这不是借口)。根据某人的建议,irc://irc.freenode.net/#macports我决定离开此答案。

在此处输入图片说明

我从未意识到这个-p选择。感谢Tyilo。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.