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 : 다음에이 포트를 실행하면 오래된 포트가 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는 여기에 있습니다. 귀하의 질문에 대한 정답은 다음과 같습니다.

종속성을 빌드하지 못하면 MacPorts가 패키지를 설치하지 않는 이유가 있습니다.

이 정확한 질문은 얼마 전 macports-users 메일 링리스트에서 논의되었습니다 :


1
foo, bar & baz는 서로 관련이없는 총 3 개의 관련 포트입니다.
— Tyilo

1
이 경우 항상 수동으로 업데이트 할 수 있습니다 (예 : sudo 포트 업그레이드 바즈, sudo 포트 업그레이드 바, sudo 포트 업그레이드 foo).
— Clemens Lang

문제의 "편집 2"를 참조하십시오.
— Tyilo

MacPorts 개발자가 말하면 정답이어야합니다.
— jvriesem

MacPorts가 안정적이 아닌 경우이 방법은 괜찮습니다. 불행히도, 많은 패키지는 대부분의 경우 실제로 필요하지 않은 많은 선택 사항에 의존하며 macports는 불안정한 쓰레기이기 때문에 매 2 초마다 포트 업그레이드가 실패합니다.
— Bachsau

5

업그레이드 명령에서 "outdated"가 아닌 "outdated and foo가 아닌"을 지정할 수도 있습니다.


문제의 "편집 2"를 참조하십시오.
— Tyilo

1

오래된 폐쇄 티켓을 고려하면 수정 된 결함 :

333 (종속성 실패는 무시되고 포트는 계속 시도하여 설치) – MacPorts

올바르게 이해하면 다음과 같이 실패를 계속하면 결함이있을 수 있습니다.

다른 말로:

  • 계속 하지 않는 것이 적절합니다 (최소 위험) .

Postscript : 매뉴얼 페이지를 완전히 읽을 수 없을 정도로 너무 게으른 것입니다 (터미널의 도움말 메뉴에서 찾을 수 없지만 변명의 여지가 없습니다). 누군가의 조언에 따라 irc://irc.freenode.net/#macports나는이 대답을 떠나기로 결정했습니다.

여기에 이미지 설명을 입력하십시오

나는 -p옵션을 결코 깨닫지 못했다 . Tyilo에게 감사합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.