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

2024-03-02

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

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

我希望能够告诉 ruby​​,在运行这些 shell 脚本时,跳过加载 gem。理想情况下,类似#!ruby --no-rubygems在舍邦线。

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


是的,您可以使用--disable-gems option.

请注意,在 shebang 行中传递选项是否有效取决于您的操作系统。某些操作系统不支持传递选项at all,有些只支持传递one选项或论点。

所以,如果你有例如

#!/usr/bin/env ruby

那么您就不太可能将该选项附加到最后。如果 OTOH 你将其更改为

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

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

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

另一种选择是设置RUBYOPTshell 环境中的环境变量,只需切换到不同的环境即可RUBYOPT取消设置(或设置为-w,我个人最喜欢的)用于 Ruby 开发。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法在不加载rubygems的情况下调用ruby1.9? 的相关文章

随机推荐

  • 将 div 扩展到滚动高度

    我需要扩展一个通过 css 将溢出设置为隐藏的 div 单击 展开 时 div 的高度将扩展到显示整个文本所需的高度 为了实现这一目标 我使用以下代码 expand click function mainDiv animate height
  • Safari/Chrome (Webkit) - 无法隐藏 iframe 垂直滚动条

    我有一个iframe在 www example com 上 指向 support example com 这是外部域的 CNAME 我自动调整 iframe 的高度 以便框架不需要任何滚动条来显示所包含的网页 在 Firefox 和 IE
  • 使用 stdin stdout 和 stderr 启动 exe/进程?

    使用 C 我如何使用 stdin stdout 和 stderr 启动 exe 进程 我知道如何在 NET 中执行此操作 我记得过去使用过 popen 但 popen 似乎允许 stdin 或 stdout 但不能同时使用 也不能全部使用
  • 如何在不使用 Amplify 的情况下使用 Amazon Cognito

    我现在刚刚开始研究 Cognito AWS 的设置相当简单 直接 我们有各种应用程序 网络应用程序和服务 我们希望它们能够使用 Cognito 服务 我有使用 Auth0 进行类似设置的经验 但由于我们一直在利用许多 Amazon Web
  • 并行启动测试时 Django 的“override_settings”装饰器如何工作

    我正在检查 Django 的设置模块是如何构建的以及如何覆盖设置 https docs djangoproject com en 3 2 topics testing tools django test override settings装
  • 在控件上使用 DoubleBuffer 的优点和缺点

    默认情况下 Windows 控件没有 DoubleBuffer 当我使用它时 我可以减少闪烁 为什么它在 Windows 控件中默认不使用 任何人都可以说出在控件上使用 DoubleBuffer 时的优点和缺点 Thanks 当我们想要创建
  • Web api 身份验证和 MVC 4

    我有以下解决方案 Web API 项目 MVC 4 项目 我需要通过使用 JSON 请求发送凭据来对用户进行身份验证 https 是必须的 这是一个好方法吗 以及如何在 Web api 和 MVC 上对用户进行身份验证 这是一个好方法吗 是
  • 如何在 django 中使 @cached_property 无效

    我目前正在使用 cached property在模型类上 我想在保存时删除它 以便可以在下次调用时重新填充它 我该怎么做呢 例子 class Amodel model fields cached property def db connec
  • Linux调度程序需要上下文切换吗?

    我有一个关于 linux 调度程序和其他一些类似的内核系统调用的一般问题 Linux调度程序是否被视为一个 进程 并且对调度程序的每次调用都需要像另一个进程一样进行上下文切换 假设我们有一个时钟滴答声 它会中断当前正在运行的用户模式进程 现
  • Excel 检测并跟踪任何工作表中的(值)变化

    我已经设法编写了一个代码来检测任何工作表中特定单元格的值变化 但我一直在努力构建一些检测和跟踪范围 值 变化的代码 例如 如果用户决定复制并粘贴某些范围的数据 假设超过 1 个单元格 宏将不会捕获它 用户选择一个范围 然后在仍选择范围的情况
  • 反转动画

    我有一个 ImageView 当它添加到布局中时它会变得动画 当它被删除时 我想反转相同的动画 有没有办法在android中反转动画而不需要重新编码和反转参数 不 遗憾的是你不能用动画对象来做到这一点 但您可以使用插值器来模拟它 该插值器将
  • IPython Notebook - 在 Javascript 中检测内核是否繁忙/空闲

    我目前正在尝试使用 IPython 笔记本获得交互式绘图 我遇到的问题之一是 当通过 javascript 中的 IPython notebook kernel execute 方法执行 Python 代码时 我无法知道该代码何时完成执行
  • Jenkins - 同时运行单个构建的实例

    我希望能够同时运行同一个 Jenkins 作业的多个构建 Example 构建 jenkins job 1 使用参数 A 调用 ant 脚本 构建 jenkins job 1 使用参数 B 调用 ant 脚本 根据需要重复 作业的每个实例同
  • 是否可以将 Series 附加到 DataFrame 的行而不先创建列表?

    我有一些数据正在尝试组织成DataFrame in Pandas 我试图让每一行Series并将其附加到DataFrame 我找到了一种方法 通过附加Series到一个空的list然后转换list of Series to a DataFr
  • 如何在 ggtern 中显示数据的真实值 (%)?

    我希望得到与下例所示大致相同的结果 我在这两个函数之间犹豫是否要得到这个结果 geom crosshair tern and scale X continuous 汉密尔顿 NE 和费里 M 2018 ggtern 使用 ggplot2 的
  • 在 Node.js 的回调周围放置返回值

    一点背景知识 我使用node js 发现通过返回可以避免许多错误all异步代码中的回调 例如 function useMyAsyncFunc stuff c callback myAsyncFunc stuff a stuff b c fu
  • 裸露和非裸露 Git 存储库的区别[重复]

    这个问题在这里已经有答案了 在 git 中 我只是想知道裸存储库和非裸存储库之间有什么区别 我知道裸存储库通常只是推送到其中并且不会在其中进行更改 除此之外 它与非裸存储库有何不同 裸存储库只有 git 文件夹 没有签出的源代码树 裸存储库
  • 在 CakePHP 中保存空间数据

    我在使用 saveAll 在 CakePHP 中保存空间数据时遇到问题 我真的不想手动编写查询 在 CakePHP 中处理空间数据 https stackoverflow com questions 4598834 handling spa
  • timeout 和 browserTimeout 的区别

    我刚刚开始使用 Selenium Grid 我当前面临的问题是测试崩溃时 浏览器永远保持打开状态 直到我到达并亲自关闭它 以便可以开始下一组测试 我注意到 NODE 配置有两种超时配置 一种用于 timeout另一个用于 browserTi
  • 有没有办法在不加载rubygems的情况下调用ruby1.9?

    所以 ruby 1 9 真的很好 因为它会自动需要 ruby gems 因此当你调用require somegem 不需要首先需要 ruby gems 它就可以工作 这通常很棒 但我有大量使用 ruby 的 shell 脚本 它们通常不依赖