kch*_*kch 8 ruby shell rubygems ruby-1.9
所以ruby 1.9非常好,因为它会自动需要rubygems,因此当你打电话require 'somegem'
而不需要首先需要rubygems时它会起作用,这通常很棒.
但我有大量使用ruby的shell脚本,它们通常不依赖于rubygems.Shell工具应该立即运行,并且什么都不加载rubygems是一个主要障碍,主要是因为它涉及一堆磁盘操作与分散的小文件.
我希望能够在运行这些shell脚本时告诉ruby跳过加载gem.理想情况下,像#!ruby --no-rubygems
shebang线一样.
有这样的事吗?或者可能是一个编译选项,它将告诉ruby rubygems必须手动需要?
是的,您可以使用该--disable-gems
选项.
请注意,在shebang行中传递选项是否有效取决于您的操作系统.有些操作系统不支持传球选择可言,路过一些只支持一个选项或参数.
所以,如果你有例如
#!/usr/bin/env ruby
Run Code Online (Sandbox Code Playgroud)
那么你几乎不可能将选项附加到最后.如果OTOH你改变它
#!/usr/local/bin/ruby --disable-gems
Run Code Online (Sandbox Code Playgroud)
然后,您已将Ruby二进制文件的位置硬连线到您的脚本中.
当然,也有操作系统不解释家当线条可言.(毕竟,它们从未在任何标准中指定,甚至没有正确记录.)
另一种方法是RUBYOPT
在shell环境中设置环境变量,并简单地切换到不同的环境,使用RUBYOPT
unset(或设置为-w
我个人最喜欢的)来进行Ruby开发.
归档时间: |
|
查看次数: |
176 次 |
最近记录: |