【问题标题】:Difference between gem and require (require open-uri)gem 和 require 之间的区别(需要 open-uri)
【发布时间】:2012-01-12 02:36:27
【问题描述】:

我只是想了解自己。

我正在使用 nokogiri gem(用于解析 HTML)。如果我可以正确打开 URL,我需要使用 gem 'open-uri' 中的方法。

但是当我将它包含在我的 Gemfile 中时(在 Windows 开发者的机器上):

gem 'open-uri' - 捆绑安装时出错,找不到 gem。

所以如果我使用require 'open-uri' - 它的工作原理。

那么有人能解释一下发生了什么吗?

【问题讨论】:

    标签: ruby gemfile


    【解决方案1】:

    您正在使用 bundler 作为您的 gem 依赖项,并且您做得对,但 OpenUri 是 Ruby 标准库的一部分。这就是为什么你只有如果你想在你的代码中使用它就需要它。

    【讨论】:

    【解决方案2】:

    require 用于加载另一个文件并执行其所有语句。这用于导入文件中的所有类和方法定义。 require 还会跟踪以前需要哪些文件,因此它不会执行两次。

    RubyGem 是一个软件包,通常称为“gem”。 Gems 包含一个打包的 Ruby 应用程序或库。 RubyGems 软件本身允许您在系统上轻松下载、安装和操作 gem。 - What is a Gem?:

    然后bundler 使用 Gemfile 来安装指定的 gem。

    open-uri 不是 gem,而是 Ruby 标准库的一部分,所以它只是必需的。

    【讨论】:

    • 谢谢。在 gemfile 或其他地方最好在哪里请求“open-uri”?
    • 如果你只在一个地方使用它,我会建议在调用之前或者在函数或文件的开头。
    • 非常感谢,感谢您的帮助和时间!
    猜你喜欢
    • 2013-05-21
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-10
    • 2017-05-27
    • 1970-01-01
    • 2011-01-25
    相关资源
    最近更新 更多