代码之家  ›  专栏  ›  技术社区  ›  kch

有没有办法在不加载rubygems的情况下调用ruby1.9?

  •  8
  • kch  · 技术社区  · 14 年前

    require 'somegem' 如果不首先需要rubygems,它就可以工作了,这通常是很棒的。

    但是我有很多使用ruby的shell脚本,它们通常不依赖rubygems。Shell工具应该立即运行,而无需加载rubygems是一个很大的阻力,主要是因为它涉及到一系列磁盘操作和分散的小文件。

    在运行这些shell脚本时,我希望能够告诉ruby跳过加载gems。理想的情况是 #!ruby --no-rubygems 在雪邦线。

    1 回复  |  直到 14 年前
        1
  •  6
  •   Jörg W Mittag    14 年前

    是的,你可以用 --disable-gems

    请注意,shebang行中传递选项是否有效取决于您的操作系统。有些操作系统不支持传递选项 完全 ,有的只支持传球 选项或论据。

    例如,如果你有

    #!/usr/bin/env ruby
    

    那么你就不太可能把这个选项附加到最后了。如果你把它改成

    #!/usr/local/bin/ruby --disable-gems
    

    然后将Ruby二进制文件的位置硬连线到脚本中。

    当然也有一些操作系统不能解释shebang行 完全

    RUBYOPT 在shell环境中设置一个环境变量,只需使用 鲁比奥普 取消设置(或设置为 -w ,这是我个人最喜欢的)。