web-dev-qa-db-fra.com

Où est le "Gemfile" en Ruby?

Je vois souvent dans la documentation sur Internet, "mettre cela dans le Gemfile". Je ne sais pas où est ce "Gemfile". Si j'installe un bijou, je l'ai installé. Qui a besoin d'un "Gemfile"? Où ou qu'est-ce que le Gemfile, et pourquoi est-il utilisé?

15
GluecklichesHuhn

Le Gemfile se trouve où vous le souhaitez - généralement dans le répertoire principal de votre projet et le nom du fichier est Gemfile.

Il est pratique d'en avoir un car il vous permet d'utiliser Bundler pour gérer les gemmes et les versions de chacun que votre projet doit exécuter.

Si vous n'utilisez pas Bundler (ce que vous devriez!), Vous pouvez simplement installer les gemmes que vous rencontrez avec gem install X et ignorez les instructions sur l'ajout d'une ligne à votre Gemfile.

En savoir plus ici:

8
Weston

Gemfile est dans Rails project, for Ruby run gem environment pour en savoir plus sur votre environnement de gemmes:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.4.8
  - Ruby VERSION: 2.2.1 (2015-02-26 patchlevel 85) [i686-linux]
  - INSTALLATION DIRECTORY: /home/gagan/.rvm/gems/Ruby-2.2.1
  - Ruby EXECUTABLE: /home/gagan/.rvm/rubies/Ruby-2.2.1/bin/Ruby
  - EXECUTABLE DIRECTORY: /home/gagan/.rvm/gems/Ruby-2.2.1/bin
  - SPEC CACHE DIRECTORY: /home/gagan/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /home/gagan/.rvm/rubies/Ruby-2.2.1/etc
  - RUBYGEMS PLATFORMS:
    - Ruby
    - x86-linux
  - GEM PATHS:
     - /home/gagan/.rvm/gems/Ruby-2.2.1
     - /home/gagan/.rvm/gems/Ruby-2.2.1@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - Shell PATH:
     - /home/gagan/.rvm/gems/Ruby-2.2.1/bin
     - /home/gagan/.rvm/gems/Ruby-2.2.1@global/bin
     - /home/gagan/.rvm/rubies/Ruby-2.2.1/bin
     - /usr/local/heroku/bin
     - /usr/lib/lightdm/lightdm
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/sbin
     - /usr/bin
     - /sbin
     - /bin
     - /usr/games
     - /home/gagan/.rvm/bin
     - /home/gagan/.rvm/bin

Notez les deux sections pour:

  • RÉPERTOIRE D'INSTALLATION
  • CHEMINS DE GEM
3
Gagan Gami

Gemfile est un fichier qui doit être situé à la racine de votre projet Rails. Il est utilisé pour décrire les dépendances de gem pour Ruby programmes.

La première chose dans votre gemfile est une source dans laquelle vous dites au Gemfile où chercher des gemmes.

La source peut être appelée comme un bloc et vous pouvez avoir plusieurs sources dans votre gemfile.

source "https://my_awesome_source.com" do
  gem "my_gem"
  gem "my_other_gem"
end

Voici une documentation où vous pouvez en savoir plus sur gemfile http://bundler.io/gemfile.html

2
RubyDigger19