我正在使用系统命令从我的rails应用程序运行ruby进程(gem的二进制文件)。
以下是它的样子:
system('someprocess')
其中someprocess是ruby bash脚本。 someprocess是somegem Gem的一部分。
问题:为什么我会收到以下内容?
somegem不是捆绑包的一部分。将其添加到Gemfile。 (GEM :: LoadError)
当进程在我的Rails应用程序之外运行时,不需要知道Gem。就Rails应用程序而言,它只是一个外部过程,不是吗?
答案 0 :(得分:2)
您可以尝试告诉Bundler使用干净的环境:
Bundler.with_clean_env do
system 'someprocess'
end