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: ...

Як я можу змусити macports спробувати оновити bar та baz, якщо foo не вдається?

Я б хотів, як правило, змусити 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

Відповіді:


8

-p, Здається, працює для мене.

На сторінці сторінки:

-p Незважаючи на помилки, перейдіть до обробки декількох
         порти та команди.

Але дивіться обережність від розробника MacPorts нижче .... Використання цього прапора не рекомендується!
— jvriesem

5

MacPorts dev тут; правильна відповідь на ваше запитання: ви цього не робите.

Є причина, чому MacPorts не намагається встановити пакет, коли залежність не вдається створити.

Саме це питання не так давно обговорювалося у списку розсилки користувачів макпортів:


1
foo, bar & baz - це 3 повних неспоріднених порту, які ні в якому разі не залежать один від одного.
— Тіїло

1
У такому випадку ви завжди можете їх оновлювати вручну, тобто baz оновлення порту sudo, смуги оновлення порту sudo, foo оновлення порту sudo.
— Клеменс Ланг

див. питання "редагувати 2".
— Тиїло

Це має бути правильною відповіддю, якщо до нього звертається розробник MacPorts.
— jvriesem

Це може бути прийнятною відповіддю, якщо MacPorts не буде лише стабільним. На жаль, багато пакунків залежать від багатьох необов'язкових речей, які насправді не потрібні у більшості випадків, і кожне друге оновлення портів завершується невдачею, оскільки макпорти - це купа нестабільного лайна.
— Бахсау

5

Ви також можете вказати "застарілий і не foo" в команді оновлення, а не просто "застарілий".


див. питання "редагувати 2".
— Тіїло

1

Враховуючи старий закритий квиток, виправлений дефект:

333 (похибка залежності ігнорується, а порт продовжує пробувати та встановлювати) - MacPorts

Якщо я правильно розумію: продовження слідування помилки може в деяких випадках бути несправним.

Іншими словами:

  • належним чином (найменш ризиковано) не продовжувати.

Постскрипт: Я був лінивий, щоб прочитати сторінку людини в повному обсязі (не знайдено в меню довідки терміналу, але це не виправдання). Дотримуючись поради когось із людей, irc://irc.freenode.net/#macportsя вирішив залишити цю відповідь.

введіть тут опис зображення

Я так і не реалізував -pваріант. Завдяки Тиїло.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.