2014-07-25 4 views
2

EC2에서 요리사를 사용하여 배포하려고합니다. 우분투 12.04와 램프 스택으로 t1.micro를 부트 스트랩하기 위해 칼 ec2를 사용하고 있습니다. 요리사가 역할에 따라 패키지를 설치하려고 할 때 다음과 같은 오류가 발생합니다.EC2에 Ruby 1.9.3 이상 설치 - Ubuntu

Recipe Compile Error in /var/chef/cache/cookbooks/mysql/libraries/provider_mysql_service_rhel.rb 
================================================================================ 


NoMethodError 
------------- 
undefined method `require_relative' for main:Object 


Cookbook Trace: 
--------------- 
    /var/chef/cache/cookbooks/mysql/libraries/provider_mysql_service_rhel.rb:3 

부트 스트랩 중 EC2의 루비 버전이 1.8.7이며 위에 언급 한 방법이 없기 때문에 분명히 나타납니다. 1.9.3 이상으로 업그레이드하기 위해 웹에서 수십 페이지를 시도했지만 여러 가지 방법으로 문제가 지속됩니다. sudo rubo -v를 할 때 나는 오래된 루비 버전을 보지만 루비 -v를 할 때는 최신 버전을 보았다. 문제는 EC2에서 루트로 로그인 한 후 sudo를 수행 할 때도 동일합니다. Chef와 함께 설치하는 동안이 문제에 직면 한 사람이 있습니까? sudo 후에 udpate 버전을 볼 수있는 루비를 설치할 수있는 모든 포인터가 도움이 될 것입니다. 나는 하루 종일 올바른 해결책을 찾으려고 노력하지 않았습니다.

+0

이 선호하는 방법입니다, RVM을 사용하는 것이 좋습니다. – Iceman

+0

나는 또한 rvm 방법을 시도했다. 그것은 sudo와 root에서 서로 다른 버전의 문제가 발생했을 때입니다. – TechCrunch

답변

2

은 의견에서 제안한대로 RVM을 사용하지 마십시오. 요리사를 설치하는 가장 좋은 방법은 이 아니라입니다. 요리사를 설치하는 가장 좋은 방법은 옴니버스 설치 프로그램을 사용하고 있습니다 :

curl -L https://www.opscode.com/chef/install.sh | bash 

이 당신을 위해 자동으로 요리사, 임베디드 루비, 모든 요리사의 종속성을 설치합니다.

참고 문헌은 :

+1

+1은 RVM을 사용하지 않습니다. – Charlie

+0

require_relative에 Ruby 1.9.3 이상이 필요하다는 문제는 어떻게됩니까? 임베디드 버전은 1.8.7 인 것으로 보입니다. – ocergynohtna

+1

임베디드 버전은 1.9.3이며 곧 2.1이됩니다. – sethvargo