如何从Rails执行shell命令?

时间:2019-01-01 12:27:07

标签: ruby-on-rails ruby shell nginx passenger

尝试从Rails控制器运行shell命令时遇到问题。 在3种不同的环境中尝试过

  1. 本地(美洲狮)
  2. 登台服务器(独立乘客)
  3. 实时(Nginx +乘客5.3.4)

直接通过源代码实时安装Ruby(没有rvm和rbenv)

它在“本地”和“沙箱”中正常运行,但实时出现127错误

尝试了以下4种方法,但所有这些方法都只能在“本地”和“沙盒”中才能正常运行

  def enable_sidekiq
    system 'bundle exec sidekiq -d -e production'
    exec('bundle sidekiq -d -e production') #working but stops rail console
    %x{bundle exec sidekiq -d -e production}
    `bundle exec sidekiq -d -e production`
    puts $?  # this shows - pid 23543 exit 0 (when successfull)
    # this shows - pid 23456 exit 127 (when  not successfull)
  end

错误:

Passenger AppPreloader: /path/to/project (forking...): No such file or directory - bundle

0 个答案:

没有答案