我希望我的应用程序不是能够使用任何已安装的宝石。是否有Ruby 1.9启动参数或以编程方式执行此操作的方式?
ruby --disable-gems
是MRI(1.9)命令行参数。"它防止将GEM安装目录添加到默认负载路径中"。(Ruby编程语言,第391页)
编辑25-10-2012:Ruby Core在注释中具有与@RogerDpack相同的想法,并添加了更多的详细ruby --help
参数。红宝石修订!
查看rubygems配置文件,我会尝试入侵gempath
或gemhome
,以查看您是否可以覆盖(而不是仅附加到)默认值。
例如,如果将gempath
设置为空,或者指向/dev/null
,则可以防止使用系统GEM,那将是GO的方法。
正如我所看到的那样,主要优势是您的反卢比格姆构型文件可以作为启动参数传递给ruby 1.9(因此未编码),记录了大量记录并将其签到您的存储库。p>当然,所有这些都是无视Rubygems是Ruby 1.9标准库的一部分 - 因此,Ruby可能会扼杀并死亡,如果它无法访问其宝石,具体取决于Ruby的基础安装需要多少宝石功能。ymmv。