2012-04-19 3 views
4

소스에서 Ruby를 컴파일하고 설치 한 다음 다른 곳으로 옮기고 싶습니다. 예를 들어Ruby를 설치하면 설치가되지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?

:

ruby-1.9.3-p125$ ./configure --prefix=/tmp/ruby-1.9.3-p125 

문제는이 --prefix 경로가 루비 바이너리에 하드 코딩되어 보인다는 것이다. /tmp/ruby-1.9.3-p125/opt/ruby-1.9.3-p125이라고 말하면 하드 코드 된 경로가 설치된 바이너리와 스크립트에 있습니다. 이동 한 후

, 오류가 발생합니다 :

 
&ltinternal:gem_prelude>:1:in `require': cannot load such file -- rubygems.rb (LoadError) 
    from &ltinternal:gem_prelude>:1:in `&ltcompiled>' 

어떻게이 문제를 해결받을 수 있나요?

+0

설치하려는 실제 접두어로 컴파일하지 않는 이유는 무엇입니까? –

+0

나는 ruby-1.9에 의존하는 응용 프로그램을 가지고있다. 내 응용 프로그램과 함께 미리 컴파일 된 패키지 싶습니다. 물론 라이선스별로 애플리케이션과 함께 Ruby 소스를 배포 하겠지만 사용자가 애플리케이션을 설치할 위치를 제어 할 수는 없습니다. 따라서 재배치 할 수있는 방법으로 구성하려고합니다. – nilweed

+1

참고로 [응용 프로그램과 함께 루비 배포?] (http://stackoverflow.com/questions/9165216/distributing-ruby-along-with-application)에서 어째가는 지 그다지 좋은 아이디어가 아닌 이유를 확인하십시오. –

답변

4

해결 방법은 configure 할 때 --enable-load-relative를 사용하는 것입니다.

+1

자세한 내용은이 게시물을 참조하십시오. http://yehudakatz.com/2012/06/ – Evan

+0

구성의 의미를 설명 할 수 있습니까? – kibaekr

관련 문제