Gemfile és Gemfile.lock in Ruby
On szeptember 30, 2021 by adminGemfile
A Gemfile egy általunk készített fájl, amelyet a Ruby programok gem függőségének leírására használunk. A gem egy Ruby kód gyűjteménye, amit egy “gyűjteménybe” tudunk kivenni, amit később meg tudunk hívni. Ebben megadhatjuk, hogy mely gemeket szeretnénk használni, és ezeknek a gemeknek mely verzióit használjuk.
Példa egy egyszerű Gemfile-ra :
source 'https://rubygems.org'gem 'nokogiri'
gem 'rails', '3.0.0.beta3'
gem 'rack', '>=1.0'
gem 'thin', '~>1.1'
Gemfile.lock
A Gemfile.lock
fájlban a Bundler rögzíti a pontos telepített verziókat. Így amikor ugyanazt a könyvtárat/projektet betöltjük egy másik gépen, a bundle install
futtatása megnézi a Gemfile.lock
fájlt és pontosan ugyanazokat a verziókat telepíti, ahelyett, hogy csak a Gemfile
fájlt használná és a legfrissebb verziókat telepítené.
A Bundler konzisztens környezetet biztosít a Ruby projektek számára azáltal, hogy nyomon követi és telepíti a pontos szükséges gemeket és verziókat. A Bundler egy kiút a függőségi pokolból, és biztosítja, hogy a szükséges gemek jelen legyenek a fejlesztésben, a stagingben és a termelésben. A munka megkezdése egy projekten olyan egyszerű, mint a bundle install .
A különböző verziók futtatása különböző gépeken hibás tesztekhez stb. vezethet. Soha ne szerkessze közvetlenül a lock fájlt.
Példa a Gemfile.lock :
.
Vélemény, hozzászólás?