我在Ruby脚本(特别是Vagrantfile)中运行,我想调用另一个ruby可执行文件(特别是针对系统ruby安装的berks)。我知道我可以做点什么
PATH=/usr/bin GEM_PATH=/var/lib/ruby/1.9.1 berks ...
但是,这不是很便携。 (例如,不同的机器将需要不同的GEM_PATH)。那么,如何在Ruby脚本中调用针对不同Ruby环境安装的脚本呢?
答案 0 :(得分:2)
嗯,手头的任务听起来不是非常便携,因为它存在的全部原因是系统特定的不同Rubies被安装在不同地方的怪癖。并非所有系统都会拥有那些特定的Ruby版本。
在我看来,最好的选择可能是允许用户设置某些环境变量(我不知道,$ BERKS_SUBRUBY_PATH或其他东西)并使用它们(如果已设置)。这样,任何需要使用变通方法的人都有一种简单的方法可以做到这一点,但是你并没有强迫每个人拥有相同的系统配置。