我有一个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没有值(value),因为它只会给我内部错误-代码中什么也没有。基本上,我如何找出零?还有一个线索,当前,我有一堆服务器,如果我在服务器A上运行cap restart命令,它可以很好地重启,在服务器B上,会引发此错误,所以我猜服务器A上有一个环境变量,但是不是B,但是错误是如此不透明,我不知道从哪里开始。
谢谢你的帮助,
凯文
最佳答案
一个疯狂的猜测:我有一个类似的问题,可以通过将capistrano-passenger
升级到>= 0.2.1
来解决
Looks like乘客的版本从6.0.7更改为6.0.8引入了一个问题。我看到您也在6.0.8上,所以它也可能会影响您!
Link to the capistrano-passenger issue
关于capistrano - 尝试运行cap deploy :restart时,nil的未定义方法[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66979314/