我有一个在 Ruby 1.9 上运行的 Rails 应用程序和一个依赖于 Ruby 1.8 的 shell 脚本(Podcast Producer)。
我需要从应用程序中调用 shell 脚本。我使用的 Ruby 版本管理器是 rvm,应用程序在乘客中运行。现在由于明显的原因,它为 shell 脚本使用了错误的 Ruby(意味着它加载了 rvm 和 bundler env,并尝试在应用程序运行时在同一个环境中启动它)。
shell脚本的第一行:
#!/usr/bin/env ruby -I/usr/lib/podcastproducer
在应用程序中调用
`/usr/bin/podcast`
你会如何解决这个问题?