2014-10-16 139 views
0

無法使用廚師獨奏設置nginx-乘客模塊。Phusion乘客編譯問題。Nginx乘客RVM食譜廚師

食譜 'RVM', '〜> 0.9.2'

食譜 'nginx的', '〜> 2.7.4'

我已經通過其他類似的線程解決方案了, ,但沒有成功,但...任何幫助是高度讚賞..

我的配置

{ 
    "name": "nginx-server", 
    "description": "Nginx server", 
    "default_attributes": { 
     "rvm": { 
      "default_ruby":"ruby-2.1.2", 
      "gems": { 
      "2.1.2": [ 
       {"name": "bundler"}, 
       {"name": "passenger"}, 
       {"name": "rake"} 
      ] 
      }   
     }, 
     "nginx": { 
      "version": "1.4.1", 
      "dir" : "/etc/nginx", 
      "log_dir" : "/var/log/nginx", 
      "binary": "/opt/nginx-1.4.1/sbin", 
      "user" : "www-data", 
      "init_style" : "init", 
      "source" :{ 
       "modules" : [ 
        "nginx::http_stub_status_module", 
        "nginx::http_gzip_static_module", 
        "nginx::passenger" 
        ] 
       }, 
       "passenger" : { 
        "version": "3.0.21", 
        "ruby" : "/usr/local/rvm/rubies/ruby-2.1.2/bin/ruby", 
        "root" : "/usr/local/rvm/gems/ruby-2.1.2/gems/passenger-3.0.21" 

       } 
     }   
    }, 
    "json_class": "Chef::Role", 
    "run_list": [ 
     "rvm::system", 
     "rvm::gem_package", 
     "nginx::source", 
     "monit_configs-tlq::nginx" 
    ], 
    "chef_type": "role", 
    "override_attributes": { 
    } 
} 

錯誤消息:Phusion乘客支持文件尚未編譯。編譯他們爲你

adding module in /usr/local/rvm/gems/ruby-2.1.2/gems/passenger-3.0.21/ext/nginx 
*** The Phusion Passenger support files are not yet compiled. Compiling them for you... *** 
*** Running 'rake nginx RELEASE=yes' in /usr/local/rvm/gems/ruby-2.1.2/gems/passenger-3.0.21/ext/nginx... *** 
STDERR: /opt/chef/embedded/bin/rake:9:in `require': no such file to load -- rubygems (LoadError) 
    from /opt/chef/embedded/bin/rake:9 
---- End output of "bash" "/tmp/chef-script20141016-27177-1eqrpme" ---- 
Ran "bash" "/tmp/chef-script20141016-27177-1eqrpme" returned 1 
[2014-10-16T20:45:43+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 
ERROR: RuntimeError: chef-solo failed. See output above. 

任何想法來解決這個,,將有很大的幫助... :)

非常感謝

戴夫

回答

1

的問題是,你正在嘗試要使用RVM中的ruby二進制文件,但您的路徑仍然設置爲使用Chef omnibus安裝中的其他腳本。跟蹤顯示rake運行的是綜合文件夾,但來自RVM的ruby。修復用於bash配方的PATH環境變量或在運行rake之前在bash代碼中輸入RVM shell配置。這可能需要分叉上述食譜,除非彼此明確支持。

+0

感謝您的回答,我會嘗試設置PATH。 – Dave 2014-10-17 05:57:40