2013-03-26 4 views
10

Wpadłem dzisiaj w sytuację, w której klejnot w użyciu w aplikacji, którą utrzymuję, został zszarpnięty.Dlaczego tak wiele klejnotów szarpanych i co robisz na temat zależności?

nie widział wstawiony gem wcześniej, chociaż słyszałem o nim, a myślałem, że to złe praktyki.

Próbowałem aktualizacji perełki, ale aplikacja rozpoczyna braku przy użyciu wcześniejsze lub starsze wersje.

Widząc jak kamienie są swobodnie gospodarzem, a być używane przez aplikacje, jaka jest logika w ich szarpać? Jak zarządzać klejnotami, które zostały szarpane?

Odpowiedz

9

Dla każdego gem użytkownik zdecyduje się użyć na swoim projekcie należy mieć ideia alternatywnego (albo innego gem lub realizację własnych). Widzę ludzi, którzy używają klejnotu kompulsywnie, nie troszcząc się o jego jakość, autora, częstotliwość aktualizacji. Niebezpiecznie jest ślepo polegać na jednym klejnocie, a decyzja o dodaniu kolejnej linii do Gemfile nie powinna być lekceważona.

Odnośnie szarpnął perełki, jeśli nawet autorzy usunąć kamienie z interwebz pewnie powinien myśleć o robi to samo z nim nad projektem. To lub jeśli naprawdę kochasz klejnot, masz widelec, udzielasz kredytów i ciągle go rozwijasz. :)

+5

+ 1 dla „gospodarzem” widełki –

4

Rubygem's doc sugeruje, że szarpanie jest tutaj:

  • naprawić przypadkowych naciśnięć niepełnych wersjach
  • uniemożliwić użytkownikom cluelessly wyciągając klejnot, który zna problemy z bezpieczeństwem

nigdy nie miałem do zarządzania takim przypadkiem, ale widzę trzy opcje:

  • zmodernizuj klejnot, jeśli istnieje późniejsza wersja,
  • pobierz klejnot (doc mówi, że klejnot jest nadal dostępny do pobrania, chyba że został całkowicie usunięty po dobrym procesie dyskusji) i wskaż lokalną wersję w twoim gemfile
  • byłaby kodu wokół innego gem lub niestandardowego kodu

w sumie wydaje się, że szarpiąc klejnot jest środkiem ostatecznym zawsze dobrych powodów, należy więc wolą Modernizacja/refaktoryzacji ciągu trzyma się potencjalnie niebezpieczne lub przestarzały klejnot ... Chyba.