Gemfile
— це файл, який використовується в проєктах на Ruby для визначення залежностей, які потрібні для роботи проєкту. Він є частиною системи управління пакетами Bundler. Bundler дозволяє легко встановлювати, оновлювати та керувати залежностями Ruby-гемів у вашому проєкті, гарантуючи, що всі члени команди використовують однакові версії бібліотек.
Основні елементи Gemfile
:
-
Джерело (source): Вказує джерело, з якого Bundler буде завантажувати геми. Зазвичай це офіційний репозиторій RubyGems.
source 'https://rubygems.org'
-
Геми (gem): Визначає геми, які потрібні для проєкту, і може включати версії або діапазон версій.
gem 'rails', '~> 6.1.0' gem 'pg', '>= 0.18', '< 2.0'
-
Групи (group): Дозволяє групувати геми для певних середовищ, таких як розробка, тестування чи production.
group :development, :test do gem 'rspec-rails' end group :production do gem 'pg' end
-
Гіт-репозиторії (git): Дозволяє вказувати залежності безпосередньо з репозиторіїв Git.
gem 'nokogiri', git: 'https://github.com/sparklemotion/nokogiri.git'
-
Платформи (platforms): Дозволяє вказувати залежності, специфічні для певних операційних систем.
platforms :ruby do gem 'ruby-debug' end
Після визначення всіх залежностей в Gemfile
, для їх встановлення використовується команда:
bundle install
Ця команда створює файл Gemfile.lock
, який фіксує конкретні версії встановлених гемів, забезпечуючи однакове середовище на всіх машинах, де розгортається проєкт. Прочитай Про файл Gemfile.lock