RubyGems - RubyGems

RubyGems
Stabilní uvolnění
3.2.20 / 11. června 2021 ; před 2 měsíci ( 11. června 2021 )
Úložiště Upravte to na Wikidata
Napsáno Rubín
Operační systém Cross-platform
Typ Správce balíčků
Licence Ruby License
webová stránka rubygems .org
Celkem drahokamy 133 000+
Celkový počet stažení 14+ miliard

RubyGems je správce balíčků pro programovací jazyk Ruby, který poskytuje standardní formát pro distribuci programů a knihoven Ruby (v samostatném formátu nazývaném „drahokam“), nástroj navržený pro snadnou správu instalace drahokamů a server pro jejich distribuce. To bylo vytvořeno Chad Fowler , Jim Weirich , David Alan Black , Paul Brannan a Richard Kilmer během RubyConf 2004.

Rozhraní pro RubyGems je nástroj příkazového řádku s názvem gem, který dokáže instalovat a spravovat knihovny (drahokamy). RubyGems se integruje s run-time zavaděčem Ruby, aby pomohl najít a načíst nainstalované drahokamy ze standardizovaných složek knihovny. Ačkoli je možné použít soukromé úložiště RubyGems , veřejné úložiště se nejčastěji používá pro správu drahokamů.

Veřejné úložiště pomáhá uživatelům najít drahokamy, vyřešit závislosti a nainstalovat je. RubyGems je dodáván se standardním balíčkem Ruby od verze Ruby 1.9.

Dějiny

Vývoj na RubyGems byl zahájen v listopadu 2003 a pro veřejnost byl vydán 14. března 2004 nebo Pi Day 2004. V roce 2010 se výchozí veřejné úložiště drahokamů přesunulo z gems.rubyforge.org na rubygems.org, který se stále používá. . V roce 2010 byl také vývoj RubyGems přesunut na GitHub . Ačkoli RubyGems existuje od Ruby 1.8, nebyl součástí standardní distribuce Ruby až do Ruby 1.9.

Dříve se kompatibilita s RubyGems a Ruby lišila. Mnoho verzí RubyGems je téměř plně nekompatibilních s mnoha verzemi Ruby a některé verze měly klíčové funkce nepoužitelné. Například Ruby 1.9 přišel s RubyGems 1.3.7 ve své standardní distribuci, ale RubyGems 1.4.x nebyl kompatibilní s Ruby 1.9. To znamenalo, že aktualizace RubyGems na Ruby 1.9 nebyla možná, dokud v roce 2011 nevyšel RubyGems 1.5.0, dva roky po prvním stabilním vydání Ruby 1.9. Tyto problémy s kompatibilitou vedly k rychlému vývoji RubyGems, přechod na plán vydání 4–6 týdnů. To se odráží v 38 vydáních od roku 2004 do roku 2010 a 117 vydáních od roku 2011 do roku 2016. V roce 2013 bylo vydáno 45 verzí, což je pro RubyGems nejvyšší počet vydání za rok.

Struktura drahokamu

Každý drahokam obsahuje název, verzi a platformu. Drahokamy fungují pouze na ruby ​​navrženém pro konkrétní platformu na základě architektury CPU a typu a verze operačního systému.

Každý drahokam se skládá z:

  1. Kód
  2. Dokumentace
  3. Specifikace drahokamů (Gemspec)

Organizace kódu dodržuje pro gem s názvem gem_name následující strukturu :

gem_name/
├── bin/
│   └── gem_name
├── lib/
│   └── gem_name.rb
├── test/
│   └── test_gem_name.rb
├── README
├── Rakefile
└── gem_name.gemspec
  • Adresář lib obsahuje kód pro drahokam.
  • K testování se používá adresář test (nebo spec).
  • Rakefile používá Rake k automatizaci testů a ke generování kódu.
  • README obsahuje dokumentaci RDOC pro většinu drahokamů.
  • Specifikace drahokamu (gemspec) obsahuje informace o autorovi drahokamu, čase vytvoření a účelu, ke kterému klenot slouží.

Bezpečnostní obavy

Protože rubínové drahokamy provozují v aplikaci vlastní kód, může to kvůli instalaci škodlivých drahokamů vést k různým problémům se zabezpečením. Tvůrce škodlivých drahokamů může být schopen ohrozit uživatelský systém nebo server.

Pro boj s bezpečnostní hrozbou byla vyvinuta řada metod:

  • Kryptografické podepisování drahokamů od verze RubyGems 0.8.11. K tomuto účelu slouží příkazy gem cert a gem install.
  • Byly navrženy nové podpisové modely jako X509 a OpenPGP, o nichž se mezi odborníky z Ruby aktivně diskutuje.

Viz také

Reference

externí odkazy