2009-08-07 29 views

Odpowiedz

12

config.gem powinien spowodować, że klejnot będzie automatycznie wymagany. Nie powinieneś wykonywać instrukcji "wymagaj".

config.gem

  1. Informuje Rails załadować ten klejnot automatycznie
  2. Informuje Rails, że ten klejnot jest potrzebne do wniosku, tak że perełki kasę: zainstalować go
  3. woli zainstalować Opcja: source może powiedzieć, szyny, aby uzyskać go z niestandardowego repozytorium
  4. Opcja: lib może nakazać szynom załadowanie niestandardowego pliku z klejnotu (tj. czegoś nie nazwanego po samym klejnocie)
+0

również:.. wersja określa wersję (jak byś w Gemfile) – labyrinth

4

Jeśli mam rację, podczas inicjalizacji środowiska "config.gem" pozwala aplikacji na konfigurację i wymaga zależności GEM z poziomu aplikacji, bez konieczności instalowania ich ręcznie. (Jak wcześniej) Wywołanie "config.gem tzinfo", tak jak powyżej, automagicznie wymaga klejnotu w całej aplikacji. Pomaga to w przypadku wdrożenia na zewnętrznym serwerze i konieczności przygotowania aplikacji wraz z niezbędnymi klejnotami itp. Następnie można uruchomić RAKE GEMS: INSTALL i railsy będą pobierać wszystkie klejnoty i ich wymagać.

Należy jednak pamiętać, że jeśli NIE chcesz, aby klejnot był wymagany w całej aplikacji. Następnie dodaj ": lib => false" po config.gem tj. (Config.gem 'tzinfo': lib => false).

W niektórych przypadkach (podążyłem za twoim linkiem), jeśli otrzymujesz niezainicjowany klejnot i ręcznie go zainstalowałeś. Upewnij się, że katalog config.gem ": lib" jest zgodny z właściwym katalogiem lib. I.E klej może być spakowany i zainstalowany jako "nlewis-supergem", jednak być może będę musiał wskazać lib w "supergem". tj. "config.gem" nlewis-supergem ": lib =>" supergem "Wszystko zależy od tego, w jaki sposób niektórzy ludzie pakują swój klejnot i odpowiednie biblioteki:

Szybka wskazówka zamiast instalować ręcznie Zawsze instaluj klejnot przez „config.gem”, a następnie grabie perełki: INSTALL złapać jakieś błędy wierd przed wdrożeniem

nadzieję, że to pomaga

+0

Dzięki za ': lib => false' :) Praca na starszych aplikacjach to ból! – atmaish

+0

Awesome! Objaśnienie – Abhiram