capistrano - 尝试运行cap deploy :restart时,nil的未定义方法[]

标签 capistrano

我有一个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/

相关文章:

ruby-on-rails - Capistrano 环境变量

ruby-on-rails - 使用 Capistrano 部署时 Hiredis 失败

symfony - 问题与 cap 部署 symfony2 项目,找不到 app/bootstrap.php.cache

ruby-on-rails - 无法使用 Capistrano 重置/取消设置 VERSION 环境变量

Python3 __pycache__ 即使 PYTHONDONTWRITEBYTECODE=1 也会生成

ruby-on-rails - 无法在 ruby​​ 设置中分配 RUBY_ENV 变量

ruby - Ruby 中的远程执行(Capistrano 或 MCollective)以收集云服务器性能指标

php - Capistrano 错误 - 无效选项 : known_hosts

authentication - Capistrano 无法部署到新的 Ubuntu 服务器,因为 SSHKit/Net::SSH 无法进行身份验证

ruby-on-rails - Capistrano 偶尔无法 pull git repo