gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 06:54:34 25 4
gpt4 key购买 nike

所以 ruby​​ 1.9 非常好,因为它会自动需要 ruby​​gems,因此当你调用 require 'somegem' 而不首先需要 ruby​​gems 时它会工作,这通常很棒。

但我有大量使用 ruby​​ 的 shell 脚本,它们通常不依赖 ruby​​gems。 Shell 工具应该立即运行,而加载 ruby​​gems 是一个主要的拖累,主要是因为它涉及一堆磁盘操作和分散的小文件。

我希望能够在运行这些 shell 脚本时告诉 ruby​​ 跳过加载 gem。理想情况下,在 shebang 行中使用类似 #!ruby --no-rubygems 的内容。

有这样的事吗?或者也许必须手动要求一个编译选项来告诉 ruby​​ ruby​​gems?

最佳答案

是的,您可以使用 --disable-gems 选项。

请注意,在 shebang 行中传递选项是否有效取决于您的操作系统。有些操作系统根本不支持传递选项,有些只支持传递一个选项或参数。

所以,如果你有例如

#!/usr/bin/env ruby

那么您不太可能将选项附加到末尾。如果 OTOH 你把它改成

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

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

当然,有些操作系统根本 不解释 shebang 行。 (毕竟,它们从未在任何标准中指定,甚至没有适当记录。)

另一种方法是在您的 shell 环境中设置 RUBYOPT 环境变量,然后简单地切换到不同的环境并取消设置 RUBYOPT(或设置为 -w ,我个人最喜欢的)用于 Ruby 开发。

关于ruby - 有没有办法在不加载rubygems的情况下调用ruby1.9?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3252917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com