乘客抛出未定义的方法` – @“为”master“:Puppet 3.0.0升级后的string

我的木偶大师正在使用乘客服务。 升级到Puppet 3.0.0后,我收到以下错误:

 PhusionPassenger :: Rack :: ApplicationSpawner中的exceptionNoMethodError(未定义的方法“ -  @”代表“是”主“string)(进程17576,线程#):
        从config.ru:7开始
         from /usr/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/builder.rb:51:in`instance_eval'
         from /usr/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/builder.rb:51:in`initialize'
        从config.ru:1:在新`
        从config.ru:1开始

我的config.ru如下所示:

# a config.ru, for use with every rack-compatible webserver. # SSL needs to be handled outside this, though. # if puppet is not in your RUBYLIB: # $LOAD_PATH.unshift('/opt/puppet/lib') $0 = "master" # if you want debugging: # ARGV << "--debug" ARGV << "--rack" # Rack applications typically don't start as root. Set --confdir to prevent # reading configuration from ~/.puppet/puppet.conf ARGV << "--confdir" << "/etc/puppet" # NOTE: it's unfortunate that we have to use the "CommandLine" class # here to launch the app, but it contains some initialization logic # (such as triggering the parsing of the config file) that is very # important. We should do something less nasty here when we've # gotten our API and settings initialization logic cleaned up. # # Also note that the "$0 = master" line up near the top here is # the magic that allows the CommandLine class to know that it's # supposed to be running master. # # --cprice 2012-05-22 require 'puppet/util/command_line' # we're usually running inside a Rack::Builder.new {} block, # therefore we need to call run *here*. run Puppet::Util::CommandLine.new.execute 

任何想法可能发生什么?

在我修复了正在处理服务器机架configuration和升级的Puppet的Puppet模块之后,我现在要回答这个问题。 我相信我可能已经遇到了一个情况,我修改了config.ru到提供的版本,Puppet会覆盖导致这个失败的版本。

更新我的Puppet模块和Puppet版本到3.0.1(这可能是罪魁祸首,但我从来没有看到一个错误报告),现在工作正常。