Про Gemfile

Gemfile — це файл, який використовується в проєктах на Ruby для визначення залежностей, які потрібні для роботи проєкту. Він є частиною системи управління пакетами Bundler. Bundler дозволяє легко встановлювати, оновлювати та керувати залежностями Ruby-гемів у вашому проєкті, гарантуючи, що всі члени команди використовують однакові версії бібліотек.

Основні елементи Gemfile:

  1. Джерело (source): Вказує джерело, з якого Bundler буде завантажувати геми. Зазвичай це офіційний репозиторій RubyGems.

    source 'https://rubygems.org'
    
  2. Геми (gem): Визначає геми, які потрібні для проєкту, і може включати версії або діапазон версій.

    gem 'rails', '~> 6.1.0'
    gem 'pg', '>= 0.18', '< 2.0'
    
  3. Групи (group): Дозволяє групувати геми для певних середовищ, таких як розробка, тестування чи production.

    group :development, :test do
      gem 'rspec-rails'
    end
    
    group :production do
      gem 'pg'
    end
    
  4. Гіт-репозиторії (git): Дозволяє вказувати залежності безпосередньо з репозиторіїв Git.

    gem 'nokogiri', git: 'https://github.com/sparklemotion/nokogiri.git'
    
  5. Платформи (platforms): Дозволяє вказувати залежності, специфічні для певних операційних систем.

    platforms :ruby do
      gem 'ruby-debug'
    end
    

Після визначення всіх залежностей в Gemfile, для їх встановлення використовується команда:

bundle install

Ця команда створює файл Gemfile.lock, який фіксує конкретні версії встановлених гемів, забезпечуючи однакове середовище на всіх машинах, де розгортається проєкт. Прочитай Про файл Gemfile.lock