2010-10-31 14 views
27

Powiedzmy, że mam zainstalowane dwie wersje klejnotu (wersje somegem 0.10.6 i 0.10.5) i chcę uruchomić starszą wersję z wiersza poleceń. Czy muszę odinstalować nowszą wersję? Czy istnieje sposób, w jaki mogę użyć flagi do określenia wersji, której chcę użyć? Coś jak ...Jak mogę połączyć starszą wersję klejnotu z linii poleceń?

somegem /path/to/dir --version 0.10.5 

sprawdziłem dokumentację rubygems i opisuje tylko jak korzystać z określonej wersji, gdy wymagają gem z pliku, ale nic o tym, jak to zrobić z linii poleceń.

+0

Dlaczego miałbyś "załadować klejnot" z wiersza poleceń? Z pewnością nie ma sensu, jeśli nie używasz klejnotu wewnątrz kodu Ruby (a następnie postępujesz zgodnie z instrukcjami, aby wymagać tego z pliku ...) – Gareth

+0

Nie próbuję załadować, ale po prostu uruchom pliki binarne klejnotu. Z pewnością nie są tym samym. Muszę czasem uruchamiać starsze wersje lub chciałbym uruchomić klejnot, który zmodyfikowałem, ale także uruchomić oryginalny klejnot, kiedy to konieczne. Ponieważ oba są nazywane "somegem", Ruby nie może odróżnić i używa plików binarnych najnowszej wersji. – picardo

Odpowiedz

48
somegem _0.10.5_ /path/to/dir 

Brak linku do dokumentacji, ponieważ podobno nie ma żadnych.

+0

Czy sądzisz, że to dlatego, że ludzie z Rubygem są luźne z dokumentacją, lub że ta funkcjonalność jest nieco nieobsługiwana lub mieszanka tych dwóch? –

+3

To (w rzeczywistości 'ruby -S somegem _1.4.3_', ponieważ' somegem' domyślnie działał ruby1.9.1) pracował dla mnie z rubygem 1.8.15. –

+0

Najwyraźniej jest to wykonywane w skrypcie instalacyjnym, gdzie wykonywane polecenie jest faktycznie pakowane w celu dodania tego zachowania https://github.com/rubygems/rubygems/blob/abf89e04954b8a2ddfb6948d0860111990a6efa2/lib/rubygems/installer.rb#L652, ale ja również nie mógł znaleźć nigdzie udokumentowanej dokumentacji –

Powiązane problemy