如何在没有rubygems的情况下启动ruby 1.9

我希望我的应用程序无法使用任何已安装的gem。 是否有ruby 1.9启动参数或以编程方式执行此操作的方法?

 ruby --disable-gems 

是MRI(1.9)命令行参数。 “它可以防止将gem安装目录添加到默认的加载路径”。 (Ruby编程语言,第391页)

编辑25-10-2012:Ruby核心在评论中与@rogerdpack具有相同的想法,并添加了更详细的ruby --help参数。 Ruby修订版!

看看rubygems配置文件 ,我会尝试破解gempathgemhome ,看看你是否可以覆盖(而不是仅仅追加)默认值。

例如,如果将gempath设置为空,或指向/dev/null ,则阻止使用系统gem,那么这将是一种方法。

正如我所看到的,主要优点是你的反rubygems配置文件可以作为启动参数传递给ruby 1.9(因此没有编码),记录良好,并检查到你的存储库。

当然,所有这些都忽略了rubygems是ruby 1.9标准库的一部分 – 因此如果ruby无法访问其gem,ruby可能会窒息死亡,具体取决于ruby的基本安装需要多少gemfunction。 因人而异。