Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在一个 Ruby 脚本(特别是 Vagrantfile)中运行,我想调用另一个 ruby 可执行文件(特别是针对系统 ruby 安装的berks)。我知道我可以做类似的事情
PATH=/usr/bin GEM_PATH=/var/lib/ruby/1.9.1 berks ...
但是,这不是很便携。(例如,不同的机器需要不同的 GEM_PATH)。那么,如何从 Ruby 脚本中调用针对不同 Ruby 环境安装的脚本呢?
好吧,手头的任务听起来不太便携,因为它存在的全部原因是不同的红宝石安装在不同的地方的系统特定的怪癖。并非所有系统都具有那些特定的 Ruby 版本。
在我看来,您最好的选择可能是允许用户设置某些环境变量(我不知道,$BERKS_SUBRUBY_PATH 或其他东西)并在设置时使用它们。这样,任何需要使用该解决方法的人都可以轻松地做到这一点,但您不会强迫每个人都拥有相同的系统配置。