2011-03-22 1 views
7

macports를 사용하여 ruby를 설치하는 중입니다. 터미널에 다음 명령을 입력했습니다.Macport를 통한 루비 설치가 진행되지 않습니다. 이 행동은 얼마나 오래 걸릴 것입니까?

sudo port install ruby 

터미널이 작동하고 있음을 나타내는 일부 줄을 반환하면 터미널에서 새 줄을 반환하지 않았습니다. 내가 입력 :

which ruby 

하고 응답을받을 didnt는, 그래서 터미널 창을 닫고 결과적으로 프로세스를 종료.

나는 새로운 터미널 창을 다시 입력 원래 설치 명령을 열어 지금은 다음과 같은 메시지가 얻을 :

Waiting for lock on /opt/local/var/macports/registry/.registry.lock 

가 어떻게 여기에서 진행해야을? 기다려야할까요? 그렇다면 얼마나 걸리나요? 터미널이이 작업을 두 번 완료하려고합니까? 작동하는지 어떻게 알 수 있습니까?

+0

@ctcherry, @TinMan 및 @charlie에 감사드립니다. 귀하의 조언을 듣고 RVM을 사용하여 Ruby를 설치했습니다. 나는 그것이 꽤 고통스러운 과정이라고 말할 것이다. 잘 했어! 아이러니 컬하게도, macports는 (더 많은 자물쇠) 그것을 제거하도록 내버려 두지 않으므로, 나는 그냥 떠날거야. 나는 거기에 아무 해가 없길 바랍니다. – s2t2

답변

7

확인이 더 적절할 때, 진행 상황을 보지 못한 경우 시스템 활동이 확인됩니다.

Mac OS에서는 "Activity Monitor"를 열고 CPU별로 정렬하거나 터미널을 열고 top -o cpu을 입력 할 수 있습니다. 일관된 활동, 특히 이름에 "포트"가있는 항목을 보여주는 일부 앱을보십시오.

잠금 장치를 다루려면 ... 확률은 단말기를 닫아서 무릎을 꿇어 버린 이후로 오래되었습니다. 따라서 sudo rm /opt/local/var/macports/registry/.registry.lock을 사용하여 제거하고 다시 시도하십시오.

Ruby의 새 버전을 설치하려면 RVM을 권장합니다. 정말 편리합니다. RVM에 들어가기 전에 "설치"및 "Rubygems"페이지를 완전히 읽고 RVM을 입력 한 후 rvm notes을 입력하고 지시 사항에 따라 설치하십시오.

마지막으로, Apple이 설치 한 Ruby의 시스템 버전을 대체하거나 업그레이드하려고 시도하는 데 아무리 좋은 생각이 들지 않아도 어떤 상황에서도 실행하지 마십시오. 애플은 스스로 사용하기 위해 그것을 설치했고, 그것을 망쳐 버리는 것은 나쁜 주주를 초대한다.

+0

감사합니다. 나는 macports에게 한 번 더 시험을 주기로 결정됩니다. 나는 파일이 더 이상 존재하지 않을 때까지 자물쇠를 멈추라는 지시를 따랐다. 다시 원래의 설치 명령을 입력하고 지금이 오류로 실행 : ---> 루비에 대한 컴퓨팅 종속성 ---> 종속성이 설치됩니다 : libiconv ncurses ncursesw openssl zlib readline /opt/local/var에 대한 잠금 대기 중 /macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_libiconv/work/.macports.libiconv.state – s2t2

+0

이 파일에도 rm 명령을 다시 적용해야합니까? 그건 그렇고 참을성이있어 줘서 고마워. – s2t2

+0

두 번째 잠금 파일을 삭제하는 것이 안전하다고 생각합니다. 그것은 오래된 말처럼 "페니를 위해, 파운드를 위해"입니다. 이미 터미널을 종료 한 다음 첫 번째 잠금 파일을 삭제하여 프로세스를 시작했습니다. 때때로 설치가 쉽게 발생하지 않습니다. –

0

Ruby를 설치하는 가장 최근의 방법은 RVM입니다. 질문에 대한 직접적인 대답은 아니지만 적극 권장합니다.

0

다음은 rvm에 대한 또 다른 투표입니다. 만약 당신이 나를 좋아하고, 맥에서 프로그래밍을하고 있지만, 다른 * nix에 배포한다면, rvm의 젬 세트를 사용하여 동일한 버전의 Ruby (및 Rails, gems)를 각각 설치할 수 있습니다.

또한 보석 세트를 쉽게 전환 할 수 있으므로 Ruby 1.9.2에서 제대로 작동하지 않는 보석을 발견하면 1.8.7로 전환하거나 그 중 일부를 시도해 볼 수 있습니다 그것. 그런 것들.

내가 아는 한 rvm install 1.8.7 또는 rvm install 1.9.2를 사용하여 Mac에서 직접 이동할 수 있습니다 (sudo를 사용하지 말고). 그런 다음 올바른 rvm을 사용하도록 전환하고 기본값을 원하는대로 변경하면 금색입니다. 작동하지 않으면 삭제하십시오. 모든 보석 세트는 .rvm/*의 홈 디렉토리 아래에 설치됩니다.

Mac 루비의 시스템 버전을 계속 사용하려고하면 고통이 사라질 것입니다 당신이 쓰는 모든 것들로 - RVM은 Mac의 Ruby를 사용하는 것보다 확실히 쉽습니다.

0

Tin Man이 언급 한 것 외에도 다른 "잠금"오류가 나타나기 시작하면 잠시 인터넷 연결을 해제하면 발생하는 모든 포트 프로세스를 중지하는 것이 도움이된다는 것을 알았습니다.

1

"Waiting for lock on /opt/local/var/macports/registry/.registry.lock"은 MacPorts가 이미 실행되고 있다는 것을 의미합니다. Activity Monitor에서 실행중인 "포트"프로세스가 있는지 확인할 수 있습니다. MacPorts로 다른 작업을 시도하기 전에 이러한 작업이 완료 될 때까지 기다리거나 완료하지 않을 경우 종료하십시오.

ps -A | grep tclsh 실행중인 프로세스를 찾을 수 없으면 죽일 수 있습니다.