/ / Existuje správca verzií pre drahokamy Ruby? - rubín-on-rails, rubín, rubín-on-rails-3, drahokam, rubínové drahokamy

Existuje správca verzií pre Ruby gems? - rubín na koľajniciach, rubín, rubín-na-koľajniciach-3, klenot, rubygems

Som nový vývojár Rails.Nedávno som sa zúčastnil hodiny na Rails a teraz sa snažím uistiť, že rastiem vo svojich schopnostiach, a to tak, že si budem sám priraďovať projekty, ktoré ma posúvajú. Jedna vec, ktorú sa teraz pokúšam urobiť, je použitie Radiant CMS na vytvorenie blogovej stránky. Narážam však na nejaké problémy so sťahovaním drahokamu Radiant. Urobil som toto:

  1. Keď som sa prvýkrát pokúsil gem install radiant, nainštaloval väčšinu požadovaných drahokamov, ale potom zahodil varovanie (ktoré som bohužiaľ neuložil doslovne), ktoré bolo v duchu:

    railties executable will overwrite rails executable. Overwrite? Y/n
    
  2. Hlúpo som zvolil „Y“. Hneď ako som to urobil, vyskúšal som si svoj drahokam koľajnice napísaním rails new testproject a zlyhalo to. Tak som potom znovu bežal gem install rails, povedal mu, aby prepísal spustiteľný súbor „railties“, potom bežal gem uninstall radiant ako sa zbaviť jadra žiariaceho drahokamu (aj keď stále mám zábradlie).

  3. Teraz je môj klenot Rails opravený a môžem bez problémov vytvárať nové projekty Rails. Preinštaloval som však Radiant gem a počas jeho inštalácie sa mi nedarí vytvoriť projekt zakaždým, keď ho spustím.

Som si dosť istý, že som niečo zlomil, ale nie somstrašne znepokojený tým. Čo ma znepokojuje, je skutočnosť, že sa zdá, že drahokam Radiant „naozaj“ dobre koexistuje s drahokamom Rails, čo ma vedie k mojej otázke:

Existuje nejaký spôsob, ako vytvoriť samostatné, samostatné prostredie rubínových drahokamov, kde súčasná verzia Ruby bude drahokamy používať iba v uvedenom prostredí?

V podstate hľadám to, čo rbenv, ale skôr zbierky drahokamov ako verzie Ruby.

Momentálne mám nainštalovaný Homebrew a sompomocou rbenv ako môjho správcu verzií. Všetko, čo zatiaľ nájdem, hovorí o správe drahokamov podľa jednotlivých projektov; Hľadám niečo, čo by v prvom rade spravovalo a udržiavalo oddelené drahokamy, ktoré vytvárajú projekty. Napríklad environment_a obsahuje rails a httparty zatiaľ čo environment_b obsahuje radiant a railties.

Nie som úplne vyhladzujúci rbenv a všetky svoje drahokamy a začínam tiež od nuly, takže je to možnosť (a výhoda toho, že som noob).

odpovede:

2 pre odpoveď č. 1

Áno: rbenv-gemset

Myslím si, že je to lepšie ako RVM, pretože je menej invazívne.

Používam rbenv a rbenv-gemset preasi 2 roky a jeho použitie je jednoduché. Uľahčuje to zapuzdrenie Ruby a sady drahokamov v projekte, spustenie viacerých rubínov a drahokamov na jednom stroji a presunutie projektu na iný stroj.

Môžeš použiť rubínovo zostavenie nainštalovať ďalšie verzie Ruby. Inštalácia najnovších verzií Ruby spočíva v triku.

Možno by ste sa chceli pozrieť Ako zabezpečím, aby boli rubínové drahokamy nainštalované na správnom mieste, aby ich spustil zväzovač? Má niekoľko relevantných (a dúfajme, že užitočných) informácií.


5 pre odpoveď № 2

Mali by ste skontrolovať Bundler, pretože robí presne to, čo potrebujete.


1 pre odpoveď č. 3

Áno, existuje.

Myslím, že sa to volá RVM.

Rovnako ako Chris Heald povedal, Môžete si o tom skontrolovať viac informácií @ rvm.io/gemsets/basics


1 pre odpoveď č. 4

Odporúčam bundler pre správu verzií drahokamov, aj keď RVM aj rbenv majú tiež túto funkciu.


0 pre odpoveď č. 5

Ty si sa spýtal: „Existuje nejaký spôsob, ako vytvoriť samostatné, samostatné prostredie rubínových drahokamov, kde súčasná verzia Ruby bude drahokamy používať iba v uvedenom prostredí?“

Najlepší spôsob, ako to urobiť RVM vstupuje do adresára vášho projektu a potom beží:

rvm use ruby-x.y.z@your_project_name --ruby-version --create

kde x.y.z je vaša verzia Ruby pre daný projekt, predtým nainštalovaná s rvm nainštalovať x.y.z

Napríklad na použitie najnovšej verzie Ruby s projektom s názvom vrchol ktoré by ste použili

rvm install 2.3.1

a potom

rvm use ruby-2.3.1@acme --ruby-version --create

Tento príkaz by vytvoril dva súbory v adresári projektov: .ruby-version a .ruby-gemset.

Súbor .ruby-version bude obsahovať iba číslo verzie. A spis .ruby-gemset by obsahoval iba názov mimo skupinu drahokamov, rovnaký názov vášho projektu (acme).

Stáva sa to RVM je dosť chytrý na to, aby skontroloval tieto súbory a použil zadaný súbor drahokamov, ktorý sa bude nachádzať na adrese ~/.rvm/gems/ruby-2.3.1@acme a vaše drahokamy budú umiestnené na ~/.rvm/gems/ruby-2.3.1@acme/gems.

Niektoré body:

1) Používanie názvu projektu ako názvu súboru drahokamov NIE JE povinné. Môžete použiť čokoľvek, čo sa vám páči. Je to druh štandardu používajúceho názov projektu, ale nie povinné.

2) rbenv pravdepodobne má spôsob, ako urobiť to isté, ale nepoužívam rbenv a naozaj neviem, ako to urobiť.

Dúfam, že táto odpoveď pomôže.