我只是想亲自去了解。
我使用nokogiri gem (用于解析HTML)。如果我正确地打开了uri,我需要使用gem ' open -uri‘中的方法。
但是当我将它包含在我的Gemfile中时(在Windows开发人员的机器上):
gem 'open-uri' -捆绑包安装时出现错误,无法找到gem。
因此,如果我使用require 'open-uri' -它可以工作。
那么,可以解释一下发生了什么吗?
发布于 2011-12-03 18:20:57
您正在为您的gem依赖使用bundler,而且您这样做是正确的,但是OpenUri是Ruby标准库的一部分。这就是为什么你只需要在你的代码中使用它的原因。
发布于 2011-12-03 18:23:56
require用于加载另一个文件并执行其所有语句。这用于导入文件中的所有类和方法定义。require还会跟踪以前需要的文件,这样它就不会执行两次。
RubyGem是一个软件包,通常被称为“gem”。Gem包含一个打包的Ruby应用程序或库。RubyGems软件本身允许您轻松地下载、安装和操作系统上的gem。- What is a Gem?
然后,bundler使用该gem文件来安装指定的gem。
open-uri不是一个宝石,而是Ruby标准库的一部分,所以它只是必需的。
https://stackoverflow.com/questions/8366937
复制相似问题