我希望我的应用程序不能使用任何已安装的 gem。是否有 ruby 1.9 启动参数或以编程方式执行此操作的方式?
问问题
1025 次
2 回答
12
ruby --disable-gems
是 MRI (1.9) 命令行参数。“它会阻止将 gem 安装目录添加到默认加载路径”。(Ruby 编程语言,第 391 页)
编辑 25-10-2012:Ruby 核心在评论中与@rogerdpack 有相同的想法,并添加了更详细的ruby --help
参数。红宝石改版!
于 2012-10-17T20:36:25.223 回答
1
查看rubygems 配置文件,我会尝试破解gempath
或gemhome
查看您是否可以覆盖(而不仅仅是附加到)默认值。
例如,如果设置gempath
为空或指向/dev/null
,阻止使用系统 gem,那么这就是要走的路。
正如我所看到的,这样做的主要优点是您的反rubygems 配置文件可以作为启动参数(因此未编码)传递给ruby 1.9,有据可查,并签入您的存储库。
当然,所有这些都忽略了 rubygems 是 ruby 1.9 标准库的一部分 - 因此,如果 ruby 无法访问其 gem,它可能会窒息而死,这取决于 ruby 的基本安装有多少需要 gem 功能。YMMV。
于 2012-10-17T20:27:16.857 回答