2009-10-27 11 views
5

jest jakiś kod Ruby można użyć do zainstalowania gem z pliku lokalnego, jeśli gem nie jest zainstalowany?rubin: kod do zainstalowania gem jeśli brakuje

myślę, że to wyglądać mniej więcej tak:

if !gem_installed("some gem name") 
    system "gem install -l local_copy.gem" 
end 

ja nie wiem, czy istnieje coś, że pozwala mi sprawdzić klejnotów jak to, czy nie ...

+0

Możliwy duplikat [Sprawdź dostępność Gem Ruby] (http://stackoverflow.com/questions/1032114/check-for-ruby -gem dostępności) –

Odpowiedz

6

Sprawdzanie dostępności jest pokryty w tym previous StackOverflow Quesiton

begin 
    gem "somegem" 
    # with requirements 
    gem "somegem", ">=2.0" 
rescue Gem::LoadError 
    # not installed 
end 

lub

matches = Gem.source_index.find_name(gem.name, gem.version_requirements) 

chodzi o instalację, wygląda rails uses the system za gem zainstalować również

puts %x(#{cmd}) 
+1

'GEM :: LoadError' powinno być' Gem :: LoadError' – Anna

+1

Możesz też użyć 'Gem.clear_paths' po wywołanie systemowe do' gem zainstalować ... ', aby faktycznie załadować gem. Zobacz http://stackoverflow.com/questions/9384756/after-installing-a-gem-within-a-script-how-do- in-load-the-gem –

Powiązane problemy