Rails Bundle Install i Gemfile

Bundler osigurava da Rubi aplikacije uvek koriste tačno gemove i verzije koje su vam potrebne, istovremeno održavajući dosledno okruženje i zavisnosti od gemova. To se postiže osiguravanjem da gemovi koji su vam potrebni budu prisutni u razvoju, inscenaciji i proizvodnji.

Postavljanje Bundlera

Uz ova tri jednostavna koraka koja bi svaki početnik trebao znati da pokrene vašu aplikaciju i pokrene je sa bundlerom :

  1. Instalirajte (ili ažurirajte) paket sa sledećom komandom: $gem install bundler
  2. Navedite svoje zavisnosti u Gemfileu:
gem "carrierwave", "~> 1.0"
gem "devise"
gem "pundit"
  1. Instalirajte sve gemove koje će Rails trebati da biste započeli: $bundle install

Instalacija paketa

Pre nego što započnete, moraćete da instalirate Rubi on Rails na vaš računar. Kada se instalacija završi bundle install, ovo će stvoriti Gemfile.lock u vašem spremištu. Ovo osigurava da drugi programeri vaše aplikacije Rubi pokreću isti kod nezavisnih proizvođača na svakoj mašini.

Opcije

Postoji više opcija pomoću kojih možete da promenite način rada instalacije paketa. Pokrivaćemo najčešće korišćene.

bundle install [--deployment][--force][--frozen][--path PATH]
               [--standalone[=GROUP[ GROUP...]]]
               [--without=GROUP[ GROUP...]][--with=GROUP[ GROUP...]]
  • --deployment: Pokreće snop u proizvodnom okruženju. Aktiviranje režima primene na razvojnim mašinama će prouzrokovati grešku kada se Gemfile modifikuje.
  • --force: Preuzima svaki dragulj, čak i ako su potrebne verzije već dostupne.
  • --frozen: Gemfile.lock se neće ažurirati nakon ove instalacije.
  • --path <path_to_folder>: Određene lokacije na kojima će se dragulji instalirati.
  • --standalone <gem_list>: Stvara paket koji može da funkcioniše bez zavisnosti od Bundlera tokom izvršavanja.
  • --without <gem_list>: Grupe dragulja koje treba preskočiti tokom instalacije.
  • --with <gem_list>: Grupe dragulja koje treba instalirati tokom instalacije.

Gemfile

Gemfile je datoteka koju smo kreirali i koristi se za opisivanje zavisnosti od gemova za Rubi programe. Gemfile se nalazi u korenu direktorija projekta.

source 'https://rubygems.org'

gem 'rails', '4.2.6'
gem 'sqlite3'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc

group :development, :test do
  gem 'byebug'
end

group :development do
  gem 'web-console', '~> 2.0'
  gem 'spring'
end

Postavljanje Gemfile-a

Koristeći source će objasniti Gemfile gde da traže gemove: source https://rubygems.org. Nema potrebe za više izvora po projektu. git i path takođe su važeći izvori gemova.

Bundler prvo pregleda da li je izvorna lokacija postavljena za dragulj. Ako ništa nije izričito postavljeno, pogledaće izvore koje ste definisali, počevši od prvog.

Ako aplikacija zahteva određenu Rubi verziju ili mehanizam, možemo to postaviti u Gemfile na sledeći način:
ruby '2.0.0', :patchlevel => '353', :engine => 'jruby', :engine_version => '1.6.7'

  • :patchlevel: Nivo zakrpe za Rubi.
  • :engine: Tip Rubi motora.
  • :engine_version: Verzija Rubi motora.

Postavljanje dragulja

Podrazumevana sintaksa je: gem 'gem_name'. Podrazumevanu sintaksu možete poboljšati na sledeći način:

  • Postavljanje verzija : gem 'gem_name', '~> 1.3'
    Ako ne postavite verziju gema , paket će je postaviti za vas. Da biste to izbegli, možete koristiti operatore ( = Jednako, != Ne jednako, > Veće od, < Manje od, >= Veće od ili Jednako, <= Manje od ili Jednako, ~> Pesimistički veće od ili Jednako).

~> operator osigurava da će vaša aplikacija bezbedno rade sa budućim verzijama gema.

gem 'gem_name', '~> 1.0' isto je kao: gem 'gem_name', '>= 1.0', '< 2.0'

  • Postavljanje gema na potreban : gem 'gem_name', require: false
    Da biste zahtevali gemove u svojoj Gem datoteci, moraćete da pozovete Bundler.require u svojoj aplikaciji. Možete sprečiti da paket isporučuje gem sa require: false, ali će i dalje instalirati i održavati gem.

  • Dodavanje izvora dragulja : gem 'gem_name', source: 'https://gem_site.com'
    Možete dodati izvor gemovima pomoću source: 'https://gem_site.com', git spremišta git: 'ssh@githib.com/git_repository/gem_name' ili sistemske putanje :path => '.../path_to_gem/gem_name'.

Kada instalirate gemove pomoću gita, možete postaviti granu, oznaku ili referencu za gem. Podrazumevana grana je branch: 'master'.
gem 'gem_name', git: 'ssh@githib.com/git_repository/gem_name', branch: gem_branch

Drugi izvor gemova može biti :gist, koristi se ako je projekat hostovan na Github-u kao suština. Gist ID se koristi kao putanja:gem 'gem_name', :gist => '8eb650c7065', branch: 'gem_branch'

  • Grupisanje gemova : gem 'gem_name', group: :development
    Gemovi mogu pripadati jednoj ili više grupa . Kada ne pripada nijednoj grupi, nalazi se u: podrazumevanoj grupi.
group :development, :test do
  gem 'gem_name'
  gem 'gem_another_name'
end

==Možete odrediti određene grupe koje nećete instalirati u paketu, što može znatno ubrzati vreme instalacije. bundle install --without development test ==

  • Postavljanje platforme : gem 'gem_name', platform: :jruby
    U datoteci Gem možete odrediti da li se gem koristi na određenoj platformi (ili skupu platformi).
    Kada programeri tokom upotrebe koriste različite operativne sisteme, biće im potrebne različite verzije gemova, u zavisnosti od toga šta njihov sistem podržava.
platforms [:mingw, :mswin, :x64_mingw, :jruby] do
  gem "gem_name"
  gem "gem_another_name"
end

Nadam se da vam je ovaj tekst pomogao da bolje razumete gemove i instaliranje paketa. Hvala vam za čitanje!

Gemovi su dragoceni, ali takođe i naš bilten! Obavezno se pretplatite na njega!