2017-03-21 8 views
2

일부 프로젝트에 서브 모듈이있는 개인 프로젝트와 공개 프로젝트를 혼합하여 "카르타고 업데이트"를 실행해야하는 새 프로젝트에서 작업하기 시작했습니다. 내가 무엇을 하든지 카르타고는 왜 그런지 전혀 알려주지 않는다. 중단을 결정하기 위해 무엇을 할 수 있습니까? 그런 다음 어떻게 이러한 문제를 해결할 수 있습니까?macOS를 어떻게 해결합니까? 업데이트를 실행할 때 카르타고가 멈 춥니 다?

답변

3

내 문제를 해결하기 위해 수행 한 작업의 대부분은 다른 곳에서 찾을 수 있지만 아무도 사이트를 가지고 있지 않습니다. 결국에는 찾지 못했지만 추측 한 기술을 사용했습니다.

내가 가진 루트 문제는 github 계정에 권장되는 보안 보호 (2 단계 인증 및 ssh에 대한 암호 문구)를 채택하는 것이 었습니다. 이 두 가지 방법 모두 해결할 수 있지만, 안타깝게도 Cathage는 사용자가 실행중인 자식 명령을 결정할 수있는 "자세한 정보"옵션을 제공하지 않습니다. 옵션을 사용하면 사용자가 실제로 응답 할 때 도움이됩니다. 필자의 경우 (그리고 대부분의 경우) 근본적인 문제는 Carthage가 실행하는 git 명령이 사용자에게 프롬프트를 표시하고 Carthage가 표준 출력을 닫거나 리디렉션한다는 것입니다.

1) 시에라 및 힘내 계정/암호

은 최근 시에라 포인트 자료는 자식 자격 증명 캐시 방식을 변경하는 것 같다. 지금이 작업을 수행하는 적절한 방법은 키 체인을 사용하는 것입니다. git이 키 체인을 사용하도록 지시하는 절차는 here입니다. 이 기술은 순수한 "계정/비밀번호"인증에만 적용됩니다.

카르타고를 사용하기 전에 터미널에서 git clone을 사용하여 모든 것이 정상적으로 작동하는지 확인하십시오.

2)이 경우 2 단계 인증

, 당신은 authentication token을 사용해야합니다. 그 토큰은 자식 암호 대신 사용됩니다. 다시 말하지만 카르타고를 사용하기 전에 적절한 저장소를 복제 할 수 있습니다. 가) 하위 모듈로, 다음 자식이 암호에 대한 프롬프트를 시도합니다 수 있으므로, 카르타고는 당신이 매달려 남아있을거야 억제로 자식이 (SSH를 사용하는 경우 SSH 액세스

에 대한

3) 암호 문구. 또한 saving and retrieving the passphrase의 키 체인을 사용합니다

Host * 
    UseKeychain yes 

자식을 당신의 ~/.ssh/config 파일에 한 줄을 추가 (및 파일의 맨 아래에이 작업을 수행)에 의해. Keychain에 입력하려면 터미널을 통해이 작업을 한 번 수행해야합니다.

4) 여전히 고착 되었습니까?

위의 기술이 도움이되지 않는다면 Carthage가 멈춰서 새 터미널 창을 열고 ps -aef | grep git을 실행하십시오. 그러면 몇 가지 git 명령을 볼 수 있습니다. 바라건대 내가했던 것처럼 git clone 명령을 볼 수 있기를 바랍니다. 그 명령을 클립 보드에 복사하십시오.

카르타고 명령을 죽인 다음 터미널에 줄을 붙여 명령을 실행하여 (아마도 외래 옵션을 제거하기 위해 편집하여) 무슨 일이 일어나는지보십시오. 운이 좋으면 문제를 해결하는 데 도움이됩니다.

+0

방금 ​​저장했습니다. !!!! 고맙습니다!!! – Lizza

+0

@Lizza 그래서 내가 그것을 게시했습니다! 카르타고가 (내가하고있는 계약을 위해) 일하기까지는 많은 시간이 필요했습니다. 그것이 당신에게 유용했기 때문에 다행! –