2016-10-14 5 views
0

여기에 글을 올리기 ... 그리고 요리사를 사용하는 방법 ... 그러나 간단한 노드 슬레이브 요리 책을 만들고 모든 요리 책에서이 오류가 계속 발생합니다. 내가 만든다. 저는 도움을 검색 및 검색했지만 어디에서나이 문제에 대한 통찰력을 찾을 수없는 것 같습니다 ... 어떤 도움이나 조언도 진심으로 감사드립니다! 레시피 컴파일 오류 : 정의되지 않은 메서드 '[]'for nil : NilClass

은`요리 책 보석 설치 : 내 작업에서 요구하고

================================================================================ 
    Recipe Compile Error in /tmp/kitchen/cache/cookbooks/jenkins/attributes/default.rb 
    ================================================================================ 

    NoMethodError 
    ------------- 
    undefined method `[]' for nil:NilClass 

    Cookbook Trace: 
    --------------- 
    /tmp/kitchen/cache/cookbooks/jenkins/attributes/default.rb:6:in `from_file' 

    Relevant File Content: 
    ---------------------- 
    /tmp/kitchen/cache/cookbooks/jenkins/attributes/default.rb: 

    1: default['jenkins']['user'] = 'jenkins' 
    2: default['jenkins']['group'] = 'jenkins' 
    3: default['jenkins']['home'] = '/home/jenkins' 
    4: default['jenkins']['work_dir'] = '/opt/jenkins' 
    5: 
    6>> if node['tomcat']['base_version'] > 6 
    7: default['jenkins']['tomcat_service'] = 'tomcat' 
    8: default['jenkins']['install_dir'] = '/usr/share/tomcat/webapps' 
    9: else 
    10: default['jenkins']['tomcat_service'] = "tomcat#{node['tomcat']['base_version']}" 
    11: default['jenkins']['install_dir'] = "/usr/share/tomcat#{node['tomcat']['base_version']}/webapps" 
    12: end 
    13: default['jenkins']['build_dependencies'] = [] 
    14: default['jenkins']['versioned_packages'] = [] 
    15: # Example: 

    Platform: 
    --------- 
    x86_64-linux 


    Running handlers: 
    [2016-10-14T22:58:04+00:00] ERROR: Running exception handlers 
    Running handlers complete 
    [2016-10-14T22:58:04+00:00] ERROR: Exception handlers complete 
    Chef Client failed. 0 resources updated in 22 seconds 
    [2016-10-14T22:58:04+00:00] FATAL: Stacktrace dumped to /tmp/kitchen/cache/chef-stacktrace.out 
    [2016-10-14T22:58:04+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report 
    [2016-10-14T22:58:04+00:00] ERROR: undefined method `[]' for nil:NilClass 
    [2016-10-14T22:58:05+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)` 

컴파일 요리 책을 ... 요리사이 버전의 실행 : 당신이 할 수 있도록

Chef Development Kit Version: 0.15.16 chef-client version: 12.11.18 delivery version: master (444effdf9c81908795e88157f01cd667a6c43b5f) berks version: 4.3.5 kitchen version: 1.10.0

답변

0

node['tomcat']가 설정입니다 그 아래의 값을 사용하지 마십시오. 이는 아마도 metadata.rb 파일에 대한 의존성을 놓친 것을 의미합니다.

+0

정말 고마워. 몇 명의 동료가 메타 데이터 파일에 해당 줄을 사용하지 않고 동일한 요리 책을 작동시킬 수 있었기 때문에 나는 매우 혼란 스러웠습니다. –

+1

노드 속성은 전역 적입니다. 그래서 tomcat 요리 책이 실행 목록이나 그 밖의 다른 방법을 통해 가져온 경우로드됩니다. – coderanger

관련 문제