我只是想了解自己。
我正在使用nokogiri gem(用于解析HTML)。如果我正确地打开URL,我需要使用gem'open-uri'中的方法。
但是当我将它包含在我的Gemfile中时(在Windows开发人员的机器上):
gem 'open-uri'
- 捆绑安装时出现错误,无法找到gem。
所以如果我使用require 'open-uri'
- 它的工作。
那么有人可以解释发生了什么吗?
答案 0 :(得分:53)
答案 1 :(得分:9)
require
用于加载另一个文件并执行其所有语句。这用于导入文件中的所有类和方法定义。 require
还会跟踪之前需要的文件,因此不会执行两次。
RubyGem是一个软件包,通常称为“gem”。 Gems包含一个打包的Ruby应用程序或库。 RubyGems软件本身允许您轻松下载,安装和操作系统上的宝石。 - What is a Gem?:
然后bundler使用Gemfile来安装指定的gem。
open-uri不是gem,而是Ruby Standard Library的一部分,因此只需要它。