MacPorts: Lanjutkan menginstal pembaruan lain setelah kesalahan

12

Katakanlah saya memiliki paket usang berikut:

  • foo
  • batang
  • baz

Saya ingin memperbarui sebanyak mungkin, jadi saya mencoba menjalankan:

sudo port -n -f upgrade outdated

Namun ini gagal dengan:

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

Bagaimana saya bisa membuat macports mencoba untuk meng-upgrade bar dan baz, jika foo gagal

Saya umumnya ingin membuat macports mencoba menginstal / meningkatkan port lain jika menginstal / memutakhirkan beberapa dari mereka gagal dan hanya melanjutkan.


Dari halaman manual:

 -f       force mode (ignore state file)

 

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

Sunting: foo, bar & baz, adalah total 3 port yang tidak terkait, yang tidak saling bergantung dengan cara apa pun.


Sunting 2: Lain kali saya menjalankan ini port yang sudah ketinggalan zaman mungkin a, b & c, bukan foo, bar & baz, jadi saya tidak bisa melakukan hardcode pada yang gagal dan saya tidak bisa melakukannya:

sudo port update foo
sudo port update bar
sudo port update baz
Tyilo
sumber

Jawaban:

8

The -ptampaknya bekerja untuk saya.

Dari halaman manual:

-p Meskipun ada kesalahan, lanjutkan ke proses beberapa
         port dan perintah.
Tyilo
sumber
Tapi lihat kehati-hatian dari dev MacPorts di bawah ini .... Tidak disarankan menggunakan bendera ini!
jvriesem
5

MacPort dev di sini; jawaban yang benar untuk pertanyaan Anda adalah: Anda tidak.

Ada alasan mengapa MacPorts tidak mencoba untuk menginstal paket ketika dependensi gagal dibangun.

Pertanyaan persis ini telah dibahas di milis pengguna macports belum lama ini:

Clemens Lang
sumber
1
foo, bar & baz, adalah total 3 port yang tidak terkait, yang tidak saling bergantung dengan cara apa pun.
Tyilo
1
Dalam hal ini Anda selalu dapat memperbaruinya secara manual, yaitu sudo port upgrade baz, sudo upgrade port sudo, sudo port upgrade foo.
Clemens Lang
lihat "edit 2" yang dimaksud.
Tyilo
Ini harus menjadi jawaban yang benar, jika dev MacPorts berbicara dengannya.
jvriesem
Ini bisa menjadi jawaban yang dapat diterima jika MacPorts tidak akan menjadi stabil. Sayangnya, banyak paket bergantung pada banyak hal opsional yang tidak benar-benar dibutuhkan dalam kebanyakan kasus dan setiap detik upgrade port gagal karena macports adalah omong kosong yang tidak stabil.
Bachsau
5

Anda juga dapat menentukan "ketinggalan jaman dan bukan foo" dalam perintah pemutakhiran, bukan hanya "ketinggalan jaman".

Joshua Root
sumber
lihat "edit 2" yang dimaksud.
Tyilo
1

Mengingat tiket lama yang ditutup, cacat yang diperbaiki:

333 (kegagalan ketergantungan diabaikan dan port terus mencoba dan menginstal) - MacPorts

Jika saya mengerti dengan benar: untuk terus mengikuti kegagalan mungkin, dalam beberapa kasus, rusak.

Dengan kata lain:

  • sudah sewajarnya (paling tidak berisiko) untuk tidak melanjutkan.

Catatan tambahan: Saya terlalu malas untuk membaca halaman manual secara keseluruhan (tidak ditemukan oleh menu Bantuan Terminal, tapi itu bukan alasan). Mengikuti saran dari seseorang di irc://irc.freenode.net/#macportssaya memutuskan untuk meninggalkan jawaban ini.

masukkan deskripsi gambar di sini

Saya tidak pernah menyadari -popsi itu. Terima kasih untuk Tyilo.

Graham Perrin
sumber