尝试运行capdeploy:restart时为nil的未定义方法[]

我有一个 Rails 5.2 应用程序,并且使用上限 3.4.1 我们突然收到这个奇怪的错误:

    [b35efe76]  Phusion Passenger(R) 6.0.8
     DEBUG [b35efe76] Finished in 0.305 seconds with exit status 0 (successful).
    (Backtrace restricted to imported tasks)
    cap aborted!
    SSHKit::Runner::ExecuteError: Exception while executing as deploy@host.com: undefined method `[]' for nil:NilClass

尝试缩小范围,尝试重新启动时会发生这种情况,因为这是失败的行:

cap production deploy:restart

问题是,我如何去寻找哪个文件试图在 nil 值上调用 [] ?使用 --trace 运行 cap 没有任何价值,因为它只会给我内部错误 - 我的代码中没有任何内容。基本上,我如何找出什么是零?

还有一个线索,目前,我有一堆服务器,如果我在服务器 A 上运行 cap restart 命令,它会重新启动,在服务器 B 上,它会抛出这个错误,所以我猜服务器 A 上有一个环境变量,但是不是 B,但错误太不透明了,我不知道从哪里开始。

感谢您的帮助,凯文

回答

一个疯狂的猜测:我遇到了类似的问题,我可以通过升级capistrano-passenger>= 0.2.1

看起来乘客从 6.0.7 到 6.0.8 的版本更改引入了问题。我看到你也在 6.0.8 上,所以它也可能影响你!

链接到 capistrano-passenger 问题


以上是尝试运行capdeploy:restart时为nil的未定义方法[]的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>