在rake任务的上下文中,我试图cd
进入一个兄弟项目目录,我想从中调用一个特定于该项目的rake任务。但是,似乎没有加载后一个目录的gemset。顶级的目录结构如下所示:
2.2.1@DirOne
- 2.2.1 Gems ...
2.2.3@DirTwo
- 2.2.3 Gems ...
在DirOne
项目的上下文中运行时,rake会尝试cd
进入DirTwo
以执行DirTwo
内项目特定的佣金任务。但是,rake在第二次rake任务中止,因为它抱怨它遇到以下错误:
LoadError:无法加载此类文件 - ci / reporter / rake / rspec
在错误中,ci/reporter/rake/rspec
是属于2.2.3@DirTwo
的宝石。可能有办法在rake任务中DirOne
的上下文中执行以下操作吗?
cd ../DirTwo && rvm use 2.2.3@DirTwo && rake something_specific_to_DirTwo
我尝试了什么
使用IO.popen(source ./script_to_run_the_above.sh)
和IO.popen(#{above_command} 2>&1
转储输出。我还尝试使用FileUtils.cd
创建一个块来在cd
文件路径的上下文中执行上面的脚本,但是它都没有做任何事情(没有错误),或抛出LoadError