如何在没有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配置文件 ,我会尝试破解gempath
或gemhome
,看看你是否可以覆盖(而不是仅仅追加)默认值。
例如,如果将gempath
设置为空,或指向/dev/null
,则阻止使用系统gem,那么这将是一种方法。
正如我所看到的,主要优点是你的反rubygems配置文件可以作为启动参数传递给ruby 1.9(因此没有编码),记录良好,并检查到你的存储库。
当然,所有这些都忽略了rubygems是ruby 1.9标准库的一部分 – 因此如果ruby无法访问其gem,ruby可能会窒息死亡,具体取决于ruby的基本安装需要多少gemfunction。 因人而异。