MacPorts:エラーの後、他のアップデートのインストールを続行します


12

次の古いパッケージがあるとします。

  • foo
  • バー
  • バズ

できるだけ多く更新したいので、実行しようとしています:

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に他のポートのインストール/アップグレードを試行させたいと思います。


manページから:

 -f       force mode (ignore state file)

 

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

編集: foo、bar、bazは合計3つの無関係なポートであり、互いに依存していません。


編集2:次にこれを実行すると、古いポートはfoo、bar、bazの代わりにa、b、cになる可能性があるため、失敗したポートをハードコーディングすることはできません。

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

回答:


8

-p私のために動作しているようです。

マンページから:

-pエラーが発生しても、複数のプロセスに進みます
         ポートとコマンド。

ただし、以下のMacPorts開発者からの注意を参照してください。このフラグの使用は推奨されません!
jvriesem

5

MacPorts devはこちら。あなたの質問に対する正しい答えは、そうではありません。

依存関係の構築に失敗した場合、MacPortsがパッケージのインストールを試行しない理由があります。

この正確な質問は、macports-usersメーリングリストで議論されています。


1
foo、bar、bazは、合計3つの無関係なポートであり、互いに依存していません。
ティロ

1
その場合、sudo port upgrade baz、sudo port upgrade bar、sudo port upgrade fooなど、いつでも手動で更新できます。
クレメンスラング

問題の「編集2」を参照してください。
ティロ

MacPorts開発者が話しかけている場合、これは正しい答えです。
jvriesem

これは、MacPortsが安定している場合以外は受け入れられる答えかもしれません。残念なことに、多くのパッケージはほとんどの場合本当に必要ではない多くのオプションに依存しており、macportsは不安定ながらくたの塊であるため、ポートの2回目のアップグレードは失敗します。
バクサウ

5

また、単に「期限切れ」ではなく、アップグレードコマンドで「fooではなく期限切れ」を指定することもできます。


問題の「編集2」を参照してください。
ティロ

1

古いクローズドチケットを考慮して、修正された欠陥:

333(依存関係の障害は無視され、ポートは引き続きインストールを試行します)– MacPorts

私が正しく理解している場合:障害を追跡し続けることは、場合によっては欠陥があるかもしれません。

言い換えると:

  • 続行しないのが適切です(リスクが最も低い)。

追記:マニュアルページ全体を読むのは面倒でした(ターミナルの[ヘルプ]メニューにはありませんが、言い訳にはなりません)。irc://irc.freenode.net/#macports私の誰かからのアドバイスに従って、この答えを残すことにしました。

ここに画像の説明を入力してください

私は-pオプションを実現しませんでした。Tyiloに感謝します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.