RoR na windows

Ogólnie chodzi o to, że różne projekty mają konfliktujące zależności, których nie chcę rozwiązywać na lokalnym komputerze i robić sobie bałaganu. To najważniejsze dla mnie.

1 Like

<trochę-troll>tak to jest jak się używa mongo</trochę-troll>

Całkowicie to rozumiem, odnoszę się tylko do stwierdzenia, że to raczej wyjątek niż reguła. W zasadzie to trochę skłamałem, bo był jeden rozproszony projekt, nad ktorym pracowałem i tam by się bardzo przydało coś takiego, co nie zmienia faktu, że jednak większość to mniej lub bardziej proste aplikacje (proste jeżeli chodzi o zależności)

Oczywiście, z tym też się zgadzam, na Twoim miejscu zrobiłbym to samo, tak jak powyżej, chodzi mi tylko o to co jest częściej spotykane.

No tak, nie ma co się bać, tylko jak wszystko jest dla Ciebie nowe i dorzucisz do tego vagranta, który też potrafi sypnąć błędem, nie mówiąc już nawet o dorzuceniu do tego chefa, to zamiast uczyć się railsów, okaże się, że połowę czasu spędza się na setupie zamiast na uczeniu. Czy to się później przyda? Być może, ale niekoniecznie. Czy warto się tego uczyć na samym początku? Moim zdaniem nie.

Jeszcze raz może podkreślę - ja nie twierdzę, że taka potrzeba nie istnieje, ale jednak projekty railsowe w większości można ogarnąć bez 100% zgodności. Na zachodzie naprawdę sporo teamów, które znam zaczyna od heroku ze względu na prostotę. Oczywiście często projekt rośnie i warto wtedy rozważyć takie rozwiązania jak vagrant, ale robienie tego na początku wydaje mi się przedwczesną optymalizacją środowiska pracy :wink:

a) Nie powiedziałem, że to wymóg tylko best practise :slight_smile:
b) Nie zawsze to co częściej spotykane jest z tego faktu najlepsze :slight_smile:
c) Z drugiej strony jeśli mam nową osobę w projekcie, która ma wprowadzić niewielką zmianę to mi jest łatwiej jej dać wirtualkę zsetupowaną z wszystkimi nietypowymi zależnościami, żeby mogła wprowadzić tą drobną poprawkę i odpalić testy niż kazać instalować cały ten soft, którego nawet nie potrzebuje do końca ogarniać, żeby zrobić fix.

Na 5 projektów w których mój udział sięgał około roku to w 2 wirtualki to prawie konieczność, w 1 spora przydatność a 2 możnaby się ze spokojem obejść bez ale jednak lepiej mieć. Mniemam, że można jednak pracować nad sporą ilością Rails projektów gdzie nie ma zupełnie takiej porzeby.

Co do linuksa, to tak jak z jabłkiem, trzeba kupować sprzęt po niego. Tyle mojej rady osoby, która od wielu lat używa linuxa na desktopie.

Chyba jeszcze nigdy nie riserczowałem przez zakupem laptopa jego kompatybilności z linuksem.

No, ale zawsze kupowałem Asusy, które podobnie jak ThinkPady są robione na sensownych i szeroko wspieranych przez linuksy podzespołach.

Moje krótkie wnioski z współpracy z RoRem. Zaznaczam, że nie zdążyłem zrobić jeszcze nic poważniejszego.

  1. Wirtualny system z linuksem. Jeśli chcesz pójść w tą stronę przygotuj się na drogę pod górkę. Coś zaktualizujesz to rozsypią się zależności itd. Raczej powinieneś znać system linux. Jeśli już się zdecydowałeś polecam Vagranta. Jak to zorganizować? Vagrant + Dropbox/GoogleDrive i nad tym samym projektem można pracować w kilku różnych miejscach bez noszenia ze sobą komputera. Tworzysz box w Vagrant i instalujesz go na tych komputerach. Sam katalog z projektem natomiast możesz edytować pod Windowsem pomimo, że będzie odpalony pod linuksem. Jest to katalog współdzielony pomiędzy Windowsem, a systemem wirutalnym. Działa to bez zarzutu i nie ma żadnych opóźnień. Odpalając serwer pod linuksem łączysz się do niego z Windowsa dzięki przekierowaniem portu.
  2. Niestety uderzył we mnie w rozwiązaniu nr 1) jak grom z jasnego nieba fakt, że bardzo lubię produkty firmy JetBrains i RubyMine działający pod windowsem działa z Ruby zainstalowanym na windowsie, a nie tym z wirutalnego systemu. Więc zainstalowałem http://www.railsinstaller.org/ i w sumie działa spoko. Tak więc jeśli nie masz wymagań do edytora to 1), a jeśli masz to pewnie 2).
  3. Najlepszym rozwiązaniem pewnie byłby MAC ale nie mam. Jeśli masz taką możliwość i chcesz zainwestować tyle pieniędzy to najprawdopodobniej będzie to najlepszy wybór.

Lol :slight_smile:

PS. http://www.debian-administration.org/articles/67

OK. W zasadzie wszystko jest odwrotnie :slight_smile:
Nie chcę polemizować z poszczególnymi fragmentami, ale nie polecam tych wniosków jako źródła informacji, które początkujący mogliby brać pod uwagę .
Widzę, że temat co jakiś czas powraca na forum jak bumerang.
Warto zrobić krótkie FAQ pt “Jak przygotować środowisko pracy z Ruby i RoR, gwarantując sobie obecnie jak i w przyszłości jak najniższy wskaźnik PITA (sobie i innym)”
Nie jestem guru ROR i Ruby, ale w wirtualizacji i pracy w izolowanych środowiska daję radę.

To miło, że potraficie lolować bez żadnych argumentów bo ja mógłbym opisać nie jedną sytuację, w której coś się sypie. Oczywiście wszystko jest do rozwiązania, trzeba nad tym tylko trochę posiedzieć. Może jestem nowy w RoR ale w całej reszcie zdecydowanie nie więc sobie wypraszam te docinki. Pokazują one tylko Wasz poziom. Tak czy siak to co napisałem pozostawiam dla innych pracujących pod systemem Windows. Temat uznaję za zamknięty, więc proszę nie śmiećcie w nim więcej nic nie wnoszącymi komentarzami, może się komuś przyda ten wątek.

Lol :)[/quote]
Paneq - od Ciebie oczekiwałbym czegoś więcej niż zlolowanie osoby, która rozpoczyna swoją przygodę z Railsami i nie ma wielkiego doświadczenia z Linuksem.

Ostatnio zauważyłem, że ruch na forum bardzo zmalał. Nie podejrzewam tutaj spadku popularności Railsów, tylko spadek tolerancji dla poziomu dyskusji na tym forum.

Właśnie zastanawiałem się jakiś czas temu, czy to tylko moje złudzenie.

eot

Trudno dyskutować ze zdaniem “Coś zaktualizujesz to rozsypią się zależności”, które nie zawiera żadnego konkretu nieprawdaż ? Oczywiście te wszystkie amazony, heroka cały ten linuxowy stuff pada jak muchy z każdym upgradem linuxa ? Chyba jednak nie. Z mojego doświadczenia musisz bardzo chcieć, żeby zepsuć sobie pakiety zarządzane przez apt-get albo innego menedżera.

Kolega “mógłby opisac niejedną sytuację, w której coś się sypie” ale nie opisuje. Hmmm …

A może jest tyle innych dobrych materiałów, że forum nie dostarcza już takiej wartości jak kiedyś ? Tyle kursów online, odpowiedzi na stackoverflow. Dla mnie tutaj ciekawsze są opinie ludzi, bo rozwiązania problemów dużo łatwiej znaleźć po angielsku w Internecie. Próbowałeś jakoś zweryfikować swoją hipotezę ?

Podbijam temat. Wydaje mi się, że to dobry wątek (nie chcę zakładać nowego) pomimo lekkiego flame’u, który pojawił się w pewnym momencie :slight_smile:

Szybkie pytanie od początkującego, który trochę poczytał i woli zaoszczędzić swój czas na rozwój (jak już ktoś wspomniał w tym wątku) “ciekawych ficzerów” :slight_smile: Potrzebuję maszyny z Windowsem, nie chcę pilnować dwóch systemów, nie chcę wydawać kasy na nowego Maca (wolę wydać kasę na rozbudowę aktualnie posiadanej maszyny, tańszym kosztem będą lepsze parametry niż MBP za ok. 10k zł).

Czy w takim przypadku najlepszym rozwiązaniem będzie czysta maszyna wirtualna z Linuxem x64 (np. Ubuntu) postawiona na Win 7 Pro?

Taki czysty obraz chciałbym potem klonować i dostosowywać pod konkretne projekty/aplikacje. Może być sam VirtualBox lub w połączeniu z vagranterm/cheffem/puppetem (tutaj mam nadzieję, że rozumiem do czego służą, mimo że jeszcze nie korzystałem z tych narzędzi :slight_smile: ). Parametry docelowe maszyny to: Intel Core i5 2520M, SSD, 16GB RAM (obecnie 8GB RAM).

Będę bardzo wdzięczny za odpowiedź i ew. pokierowanie od osoby, która pracuje w takiej konfiguracji i jej się sprawdza. Póki co po przeczytaniu trafiłem na post Manuel’a van Rijn i wydaje mi się, że będzie to dobry kierunek. Jeśli jestem w błędzie to chciałbym zaoszczędzić czasu i żeby ktoś mi powiedział “nie idź tą drogą” :smile:

Najlepsze rozwiązanie Linux bądź Mac OS X. Natomiast jeśli masz duże opory z przesiadką z Windowsa możesz skorzystać na początku z chmury np. z c9

1 Like

@lsiwinski VirtualBox na windowsie fajnie dziala z rails’ami, od jakiegos czasu jestem zmuszony tak pracowac i bardzo nie narzekam. Oczywiscie, jakbym mial mozliwosc to bym wrocil do linuxa/maca, niestety polityka mojej firmy jest taka a nie inna :frowning:

Edytory w chmurze maja tez sporo sensu, polecam!

@mich Nie mam oporu przed żadnym systemem, to po prostu narzędzia. Każdy ma jakieś cechy, które są przydatne w określonych sytuacjach :slight_smile: Dzięki za podrzucenie adresu do c9!

@slawosz Dzięki również za odpowiedź.

Spróbuję najpierw z Ubuntu na VirtualBox. Wydaje mi się, że tak będzie najszybciej. Jeśli coś pójdzie nie tak, to nie będzie szkoda zaorać wirtualki :slight_smile: Dam znać jaki wynik :slight_smile:

Obiecałem, że opiszę wyniki więc wrzucam. Może się komuś przyda :slight_smile: Ponadto liczę, że może ktoś bardziej doświadczony w temacie jeszcze coś podpowie :slight_smile:

Setup na tę chwilę wygląda następująco:

  • Na laptopie (dalej hostos) zainstalowany jest Win10Pro x64
  • Na hostos zainstalowałem VirtualBox jako hypervisora oraz Vagranta + Chef’a jako narzędzia zapewniające provisioning
  • Z pomocą Vagranta i Chef’a skofigurowałem i zainstalowałem na virtualboxie Ubuntu 14.04 (Trusty Tahr, ubuntu/trusty64)
  • Po podniesieniu boxa zainstalowalem ruby, rails i wszystkie potrzebne zależności, potem export jako box vagrantowy via vagrant package

Flow pracy.

  • podnoszę vagranta i odpalam railsy na boxie
  • edycja i wersjonowanie kodu na hostos za pomocą intellij idea & msysgit

Przykładowy projekt na githubie: https://github.com/hopbit/rails-vagrant-box