调用不同的ruby解释器

时间:2014-01-15 19:07:00

标签: ruby vagrant berkshelf

我在Ruby脚本(特别是Vagrantfile)中运行,我想调用另一个ruby可执行文件(特别是针对系统ruby安装的berks)。我知道我可以做点什么

PATH=/usr/bin GEM_PATH=/var/lib/ruby/1.9.1 berks ...

但是,这不是很便携。 (例如,不同的机器将需要不同的GEM_PATH)。那么,如何在Ruby脚本中调用针对不同Ruby环境安装的脚本呢?

1 个答案:

答案 0 :(得分:2)

嗯,手头的任务听起来不是非常便携,因为它存在的全部原因是系统特定的不同Rubies被安装在不同地方的怪癖。并非所有系统都会拥有那些特定的Ruby版本。

在我看来,最好的选择可能是允许用户设置某些环境变量(我不知道,$ BERKS_SUBRUBY_PATH或其他东西)并使用它们(如果已设置)。这样,任何需要使用变通方法的人都有一种简单的方法可以做到这一点,但是你并没有强迫每个人拥有相同的系统配置。