2013-03-14 3 views
4

다음 요리 책 https://github.com/fnichol/chef-rvm을 사용하여 Amazon OpsWorks로 RVM을 설치하려고합니다. 나는 rvm을 tomcat6 사용자로 실행시키고 싶기 때문에 올바른 속성을 가진 rvm :: user를 포함 시켰습니다.Amazon OpsWorks 사용자 정의 요리 책 RVM

내가 갖는 오류 :

Wed, 06 Mar 2013 20:05:05 +0000 ERROR: Running exception handlers Wed, 06 Mar 2013 20:05:05 +0000 ERROR: Exception handlers complete Wed, 06 Mar 2013 20:05:05 +0000 DEBUG: Re-raising exception: LoadError - no such file to load -- rvm /opt/aws/opsworks/current/site-cookbooks/rvm/recipes/default.rb:29:in require' /opt/aws/opsworks/current/site-cookbooks/rvm/recipes/default.rb:29:in from_file'

그리고 예외를 발생 코드의 조각 :

chef_gem 'rvm' do 
action :install 
version '>= 1.11.3.6' 
end 

ruby_block "require rvm" do 
    block do 
     require 'rvm' 
     create_rvm_shell_chef_wrapper 
     create_rvm_chef_user_environment 
    end 
    action :create 
end 

내가 SSH를 사용한 경우 로그인 여부 체크 오류가 발생 후 또는 rvm gem이 설치되지 않았습니다. * LOCAL GEMS * 아래에 rvm이 표시되지 않았습니다.

그런 다음 chef_gem 메서드를 gem_package로 대체했지만 여전히 동일한 오류가 발생했습니다. 그러나 이번에 보석 목록 rvm을 확인했을 때이 목록에 올랐다.

어떤 도움이 필요합니까? 미리 감사드립니다.

+0

잘하면이 구현할 때 도움이 될 것입니다 => http://tickets.opscode.com/browse/CHEF-4008 – mpapis

답변

0

가장 최근의 rvm 요리 책을 사용 했습니까? 오류를 제공 한 recipes/default.rb을 (를) 찾으십시오.이 파일의 내용은 설명에 게시 한 내용과 다릅니다.

4

문제는 여기에 강조 표시됩니다 : https://forums.aws.amazon.com/thread.jspa?threadID=118646

OpsWorks '요리사 구현은 꽤 아마존에 의해 제한됩니다. 셰프가 노드에서 실행되면 실제로는 번들을 통해 실행됩니다. rvm 요리 책은 새로운 보석 (rvm)을 시스템에 설치하고 그것을 사용하려고 시도하기 때문에 rvm gem이 이미 번들 (Gemfile에 나열되어 있음)이 아니기 때문에 실패합니다.

이 글을 쓰고있는 현재의 해결 방법은 opsworks가 맞춤 보석 사용을 지원하는 방법을 구현 한 것입니다.

나는 당신이 언급 한 라인을 업데이트 할 수있었습니다 :

if defined?(OpsWorks) && defined?(OpsWorks::InternalGems) 
    OpsWorks::InternalGems.internal_gem_package('rvm', :version => node['rvm']['chef_internal_rvm_gem_version']) 
else 
    chef_gem 'rvm' do 
    action :install 
    version '>= 1.11.3.6' 
    end 
end 

이 당신을 위해 작동하는지 알려주세요!

+0

+1, 이것은 나를 위해 문제를 해결합니다 – rubish

관련 문제