【发布时间】:2011-02-06 06:30:25
【问题描述】:
在我的黄瓜场景中,如果我在目标 Rails 应用程序文件夹中调用 rake db:schema:load,我会得到黄瓜进程的 $LOAD_PATH 而不是 Rails 应用程序自己的 Gemfile/加载路径。我觉得这很奇怪。
结果是我得到以下错误:
no such file to load -- rails/all
我无法在我的黄瓜场景之外重现它。
ruby -rubygems -e "system 'rake -T'"
正常工作 -> 'rake -T' 有应用程序自己的基于 Gemfile 的 $LOAD_PATH;并且不会产生上述错误。
谁能想到为什么子进程(rake -T 或 rake db:schema:load 或 rails runner...;由system、exec、%x[...] 或反引号调用;会以父进程的 $LOAD_PATH 开头(来自黄瓜场景的 Gemfile)而不是它自己的 $LOAD_PATH(来自 Rails 应用的 Gemfile)?
【问题讨论】:
标签: ruby-on-rails ruby rubygems cucumber bundler