Odpowiedzi:
Tak, kiedy to zrobisz gem install
, najpierw przeszuka bieżący katalog, więc jeśli plik .gem tam jest, to go pobierze. Znalazłem go na referencji klejnotów , co może ci się przydać:
gem install zainstaluje nazwany klejnot. Spróbuje zainstalować lokalnie (tj. Plik .gem w bieżącym katalogu), a jeśli to się nie powiedzie, spróbuje pobrać i zainstalować najnowszą wersję klejnotu, który chcesz.
Gemfile
ale nie .gem
plik. Czym jest ten .gem
plik? Co powinien zawierać? - Czekaj - rozumiem. Masz na myśli gem-name.gem
plik. Pamiętaj, że w Uniksie plik jest rozpoczynany od „.” więc lepiej to przeliterować.
Możesz także użyć gem install --local path_to_gem/filename.gem
Pominie to zwykłe skanowanie repozytorium klejnotów, które ma miejsce po przerwaniu --local
.
Możesz znaleźć inną magię gem install --help
.
Jeśli tworzysz swoje klejnoty w pakiecie:
# do this in the proper directory
bundle gem foobar
Możesz zainstalować je z prowizją po ich napisaniu:
# cd into your gem directory
rake install
Są szanse, że twój pobrany klejnot też będzie wiedział rake install
.
Jeśli chcesz pracować nad lokalnie zmodyfikowanym widelcem klejnotu, najlepszym sposobem na to jest
gem 'pry', path: './pry'
w Gemfile.
... gdzie ./pry
byłby klon twojego repozytorium. Po prostu uruchom bundle install
raz, a wszelkie zmiany w źródłach klejnotów zostaną natychmiast odzwierciedlone. Dzięki gem install pry/pry.gem
, źródła są nadal przenoszone GEM_PATH
i zawsze będziesz musiał uruchomić oba bundle gem pry
i gem update
przetestować.
Idź do ścieżki, w której znajduje się klejnot i zadzwoń gem install -l gemname.gem
Cóż, to moja instalacja SUCHA:
[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
)*.gems
pliki” do komputera bez klejnotów w własnym miejscu gem podręcznej (domyślnie tą samą ścieżką patrona pierwszego kroku: [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
)[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
) i odpal gem install anygemwithdependencieshere
(przykład cucumber-2.99.0
)Jest SUCHY, ponieważ po zainstalowaniu dowolnego klejnotu domyślnie rubygemy umieszczają plik klejnotu w katalogu klejnotów pamięci podręcznej i nie mają sensu powielać tych plików, łatwiej jest, jeśli chcesz, aby oba komputery miały te same wersje (lub przesadzone przez paranoiczne reguły bezpieczeństwa: v)
Edycja: W niektórych wersjach ruby lub rubygemów nie działa i nie uruchamia alertów lub błędów, możesz umieścić klejnoty w innym miejscu, ale nie uzyskać DRY, inną alternatywą jest uruchomienie zintegrowanej komendy
gem server
i dodanie adresu localhost do źródeł klejnotów, więcej informacje w: https://guides.rubygems.org/run-your-own-gem-server/
Możesz pobrać klejnoty z https://rubygems.org/gems/ lub zbudować lokalny klejnot za pośrednictwem pakietu i stojaka.
na przykład:
Zadbaj o instalację zależności przed zainstalowaniem prawdziwych klejnotów.
Uwaga: Jeśli używasz płynnego td-agent i ruby na tym samym komputerze. Pamiętaj, aby użyć polecenia td-agent-gem td-agenta. td-agent ma własnego Rubiego.