我有一个小型的rails应用程序,它运行良好的Ruby 1.8x和Rails 2.x版本在一个令人遗憾的决定中,我决定转向Ruby 1.9.x和Rails 3, 这是一种光荣的痛苦。
我的Ruby应用程序使用MySQL,我使用Active Record。 但是我已经编写了一个早期的pgm来填写数据库 在我做Rails(2.x)之前,它现在是完整应用程序的一部分。 (我可以在Rails之外测试/运行独立的pgm,但没有 问题)。
这个独立程序使用的是MySQL和dbi gems。我从模型中称这个程序为:
system("ruby standalonepgm.rb -args ")
在Rails 2.0中,这没有任何问题。 在3.0中程序退出时没有任何方法来捕获错误。
在控制台下运行我发现该程序因为无法找到而死亡 dbi gem!
如果我把dbi gem放在Gemfile中并做捆绑日期,那么就有了 真正的麻烦。 Rails拒绝启动 - rails服务器因各种问题而死亡。 我可以加入screendump,但我认为这不重要。
似乎有两个问题:
它是否可以修复,或者我是那些被隐藏的铁轨黑魔法所咬伤的人之一,而且我过去8周以上的努力已经下来了?
答案 0 :(得分:1)
通过使用固定 Bundle.with_clean_env呢 系统(“ruby pgm.rb” 端
我从未阅读过捆绑文件..这个案例在其中有描述..