Je voulais juste comprendre pour moi-même.
J'utilise le gemme Nokogiri (pour analyse HTML). Si je me suis bien compris d'ouvrir des URL, j'ai besoin d'utiliser une méthode de la "Open-Uri" de la GEM.
Mais quand je l'incluais dans mon gemfile (sur la machine de Windows Developer):
gem 'open-uri'
- Il y a une erreur lors de l'installation de paquet qu'il ne peut pas trouver de gemme.
Donc, si j'utilise require 'open-uri'
- ça marche.
Alors peut-on expliquer ce qui se passe?
require
est utilisé pour charger un autre fichier et exécuter toutes ses déclarations. Cela sert à importer toutes les définitions de classe et de méthode dans le fichier. require
conserve également une trace de laquelle les fichiers ont déjà été requis afin de ne pas l'exécuter deux fois.
Un rubygem est un package logiciel, communément appelé "gemme". Les gemmes contiennent un emballaged Ruby application ou bibliothèque. Le logiciel RubyGems lui-même vous permet de télécharger facilement, d'installer et de manipuler facilement des pierres précieuses sur votre système. - Qu'est-ce qu'un GEM? :
Le gemfile est ensuite utilisé par Bundler pour installer les gemmes spécifiées.
open-Uri n'est pas un gemme mais une partie de la Ruby Bibliothèque standard de sorte qu'il doit simplement être nécessaire.