Ruby on Rails中的Migrator和ActiveRecord::Migration有什么区别,导致它们失效?

更新于
2026-10-10 00:10:10
1阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计230个文字,预计阅读时间需要1分钟。

Ruby on Rails中的Migrator和ActiveRecord::Migration有什么区别,导致它们失效?

当使用Capistrano部署Rails应用时,它尝试执行的最后一件事是:`sudo -p 'sudo password: ' -u app /home/user/public_/example.com/current/script/process/reaper`。随后,它抛出这个错误:`failed: sh -c \su\`。

当通过Capistrano部署我的Rails应用程序时,它尝试执行的最后一件事是:

sudo -p 'sudo password: ' -u app /home/user/public_html/example.com/current/script/process/reaper

然后它抛出这个错误:

failed: "sh -c \"sudo -p 'sudo password: ' -u app /home/user/public_html/example.com/current/script/process/reaper\"" on 123.456.789.012

该应用程序仍然部署并开始正常…但是进程/收割机做了什么,我该怎么做才能摆脱错误?

在Mongrel / Passenger时代之前和在Rack上构建之前,运行Rails应用程序的唯一方法是使用CGI或FGCI.
脚本/收割者文件用于启动/停止Rails进程.

默认情况下,Capistrano尝试启动运行reaper脚本的新Rails进程.
您应该自定义默认行为.

Ruby on Rails中的Migrator和ActiveRecord::Migration有什么区别,导致它们失效?

假设您使用Passenger运行Rails应用程序(mod_rails),请安装以下Capistrano + Passenger (mod_rails)配方,Capistrano将在部署时正常重启您的Passenger实例.

本文共计230个文字,预计阅读时间需要1分钟。

Ruby on Rails中的Migrator和ActiveRecord::Migration有什么区别,导致它们失效?

当使用Capistrano部署Rails应用时,它尝试执行的最后一件事是:`sudo -p 'sudo password: ' -u app /home/user/public_/example.com/current/script/process/reaper`。随后,它抛出这个错误:`failed: sh -c \su\`。

当通过Capistrano部署我的Rails应用程序时,它尝试执行的最后一件事是:

sudo -p 'sudo password: ' -u app /home/user/public_html/example.com/current/script/process/reaper

然后它抛出这个错误:

failed: "sh -c \"sudo -p 'sudo password: ' -u app /home/user/public_html/example.com/current/script/process/reaper\"" on 123.456.789.012

该应用程序仍然部署并开始正常…但是进程/收割机做了什么,我该怎么做才能摆脱错误?

在Mongrel / Passenger时代之前和在Rack上构建之前,运行Rails应用程序的唯一方法是使用CGI或FGCI.
脚本/收割者文件用于启动/停止Rails进程.

默认情况下,Capistrano尝试启动运行reaper脚本的新Rails进程.
您应该自定义默认行为.

Ruby on Rails中的Migrator和ActiveRecord::Migration有什么区别,导致它们失效?

假设您使用Passenger运行Rails应用程序(mod_rails),请安装以下Capistrano + Passenger (mod_rails)配方,Capistrano将在部署时正常重启您的Passenger实例.