/ / Používanie najnovšej verzie drahokamov bez ohľadu na zdroj - ruby, rubygems, github

Použitie najnovšej verzie klenotu bez ohľadu na zdroj - ruby, rubygems, github

Môžem požiadať ruby ​​alebo rubygems o použitie najnovšieho drahokamu bez ohľadu na jeho zdroj?

Ako je uvedené v aktualizácii táto otázka, ukázalo sa, že ruby ​​používa starší gemubový github (hmcgowan-roo 1.3.5) na novší klenot rubyforge, ktorý bol nainštalovaný novšie (roo 1.3.6).

Moje podozrenie je, že kúzelná škvrna (rubínová alebo rubínová) vyzerá pod písmenom „h“ skôr, ako sa pozrie pod „r“.

Môžem prinútiť Rubyforge, aby sa použil

gem "roo"

ale je možné povedať ruby ​​/ rubygems, že som rád, že môžem používať buď hmcgowan-roo alebo roo, ale chcem najnovšiu verziu?

odpovede:

1 pre odpoveď č. 1

Nie, bohužiaľ to nie je možné. Pokiaľ ide o RubyGems, nie sú to rovnaké drahokamy, takže RubyGems nedokáže automaticky určiť, ktorá je najnovšia verzia. Na účely paranoja by sa linka s požiadavkou mala považovať za neurčitú, ak neexistuje volanie na metódu drahokamov a máte nainštalovaných viac verzií tej istej knižnice.

Všeobecne platí, že chcete, aby vaše hovory na drahokam metóduaby ste sa napriek tomu umiestnili na inom mieste, ako sú vaše požiadavky (umožňuje to lenivé načítanie súborov), takže je úplne rozumné mať často aktualizovaný súbor, ktorý práve vykonáva veľa hovorov metódou drahokamov, aby sa zaistilo, že dostal správnu verziu všetkého. Navyše, vo výrobe zvyčajne nechcete robiť „dajte mi najnovšiu verziu“, pretože najnovšia verzia mohla zmeniť svoje API alebo premenovať niektoré metódy alebo podobné, a ak ste proti tomu ešte netestovali, nemusíte vedieť, či to bude break. Vždy by ste sa mali uistiť, že používate konkrétnu verziu známej práce každej knižnice tretej strany.

Ako autor knižnice obyčajne dávam ľuďom informáciejedna alebo dve verzie heads-up, ak sa chystám vykonať zmeny, ktoré prerušia staršie používanie rozhrania API. Avšak niekedy sa ľudia na chvíľu neaktualizujú a tým sa ich správa chytiť. Našťastie väčšina ľudí je opatrná a pódiové veci. Nebuď ten, kto aktualizuje knižnice priamo vo výrobe bez ich testovania. :-)


0 pre odpoveď č. 2

Možno by ste mohli použiť metódu drahokamov na určenie, ktorú chcete.

RubyGems - kapitola 4