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.