【问题标题】:Nginx-passenger RVM cookbook chefNginx-passenger RVM 食谱厨师
【发布时间】:2014-10-16 20:57:47
【问题描述】:

无法使用 chef-solo 设置 nginx-passenger 模块。Phusion 乘客编译问题。

食谱 '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. 

任何解决这个问题的想法都会有很大帮助... :)

非常感谢

戴夫

【问题讨论】:

    标签: nginx rvm chef-infra passenger chef-recipe


    【解决方案1】:

    问题是您尝试使用 RVM 中的 ruby​​ 二进制文件,但您的路径仍设置为使用 Chef 综合安装中的其他脚本。跟踪显示运行综合文件夹的 rake,但来自 RVM 的 ruby​​。在运行 rake 之前,修复用于 bash 配方的 PATH 环境变量或在 bash 代码中获取 RVM shell 配置。这可能需要对上述食谱进行分叉,除非它们彼此明确支持。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      • 2021-11-01
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多