Компилация на Ruby 2.1 под Windows

  1. Привет!

    Ето гайд за хората, на които не им се чака, но си харесват 'по-недъгавите' операционни системи :)

    Понеже под Windows неща се компилират с Visual Studio - ще ви трябва такова. Ако нямате и не ви трябва, може би наистина е смислено да почакате малко за инсталатора. Гайда е пробван с VS 2012.

    1. Теглите сорса на Ruby 2.1
    2. Разархивирате някъде, за предпочитане е абсолютния път до директорията да е кратичък, за по-лесно. Много важно е да се уверите, че датите на файловете, които разархивирате, не са се променили от тези, които са били в архива. Ако са се обновили до текущата дата - ще ви изпищи с грешка, че нямате инсталирано Ruby (wut?).
    3. Отваряте "Developer Command Prompt for VS2012". Може да го намерите с търсенето в windows. За windows 8 цъкате старт екрана и пишете "developer".
    4. Отивате в директорията, където са файловете и изпълнявате една по една следните команди. За последната давате съществуваща папка, където да се сложат компилираните файлове за Ruby.

      • .\win32\configure.bat
      • nmake
      • nmake test
      • nmake DESTDIR=C:/dev/installs/ruby install

      Ако пътя към DESTDIR директорията съдържа празни места, го оградете в кавички.

    5. Отивате в ControlPanel -> System -> отляво има едно бутонче Advanced System Settings -> на Advanced таба има бутон Environment variables -> цъкате два пъти на реда с Path, в първия списък (или втория, няма значение) -> Добавяте в края на текста това ';C:\dev\installs\ruby\usr\bin' (без кавичките), като разбира се си променяте пътя до съответната директория. Това \usr\bin накрая трябва да го има.

    6. Затваряте си терминала и го отваряте отново. Трябва командата irb да стартира Ruby. Ако не, рестартирайте, за да сте сигурни, че са се обновили системните променливи от стъпка 5.
  2. Горещ съвет към хората под Windows - инсталирайте си Ubuntu. Адски лесно е - само си прави partition, не е Rocket science, бързо е, безплатно и легално е и настина ще си спестите много време. Започнах на Win и изгубих сумати време да решавам проблеми, които под Unix за Руби просто ги няма. Да не говорим, че ако задълбаете после на Rails, там има gem-ове, които чисто и просто нямат Win версия. Не знам дали този гайд работи с VS2012 Express. Ако не - да свалите и инсталирате VS ще ви отнеме толкова време, колкото и за Ubuntu. Дори и на C# developer-и не пожелавам да се мъчат с Руби под Windows.

  3. Без това да е началото на flame war, Александър е прав. А и ако не сте пробвали друга операционна система, това е добър момент да го направите. Човек трябва да експериментира, иначе няма как да знае, че Windows му харесва повече :)

    А на Георги даваме бонус точки и му благодарим :)

  4. Препоръка към колегите, които имат проблем да подкарат друга операционна система на компютъра си. Каквото и да си говорим, на някой лаптопи просто е ужасно да се използва друго от Windows, защото нещо не работи добре, особено гадно, когато това е охлаждането примерно (на мен ми се случи, но ъпдейт на БИОС-а оправи нещата).

    Инсталирайте си VirtualBox, прежалете 10-15GB място и си инсталирайте нещо - примерно Linux Mint. Хем ще имате лаптоп, който функционира, хем ще работите комфортно.

  5. Ако искате да се научите наистина, пътят минава през dual boot, а не през виртуална машина. Просто така волю-неволю ще се принудите да се борите с разни проблеми и, всъщност, това е пътят, по който човек се учи.

  6. Не знам дали въпросът ми е за тук, но не намерих по-подходящо място.

    Качих си Руби по този начин :

    НОВО за Windows (2) — Направихме build с Ruby 2.1 на RubyInstaller. Може да го свалите от тук. Пускате, инсталирате и сте готови. Благодарение на Христо и Генади.

    Но когато се опитам да стартирам "Interactive Ruby", прозорецът се зарежда и веднага след това се затваря.

    Свалих го на Windows 7 ако това е от значение.

  7. Ами, в търсачакта си пиша "Interactive Ruby" и то е единствено.Появява се след инсталацията.Сега забелязвам, че на друг компютър(пак Уин7) не се затваря моментално, но този път при инсталацията, там където са двете отметки дадох само първата.

  8. Кристиян, трябва да си малко по-конкретен. "При инсталацията, там, където са двете отметки дадох само първата" не ми е много полезно :) Надявам се, че не цъкаш произволно из интерфейса на инсталатора, а четеш и осмисляш какво те питат с въпросните отметки :)

    По твоята ситуация, опитай да пуснеш irb през Command Prompt и сподели какво става. Ако ти дава грешка, дай точната грешка, дали чрез screenshot, или чрез copy/paste.

  9. Ето за тази инсталация И отметки става дума:

    http://sdrv.ms/19lzeFl

    След инсталацията се инсталира нещо наречено Interactive Ruby, което виждам, че е нещо като cmd, но моментално се затваря.

    Когато в моят cmd въведа 'irb' Ми дава следната грешка:

    <internal:gem_prelude>:1:in 'require':cannot load such file -- rubygems.rb from <internal:gem_prelude>:1:in ''

    Не знам дали има връзка с проблема, но миналата година на тоя компютър мисля, че пак инсталирах някакъв Ruby,Но беше по-ниска версия и може да има някакви останали файлове, въпреки че го деинсталирах преди да инсталирам този.На друг компютър, пак с Уин7 Инсталирах по същият начин и нещата заработиха.Interactive Ruby Не се затваряше.

  10. Кристиян, тази информация е доста по-полезна, благодаря. Като потърсих малко за тази грешка и имайки предвид твоята конкретна ситуация, ми звучи сякаш наистина има останали неща от предишна инсталация, които объркват работата.

    За съжаление няма да мога да помогна много повече, без да имам достъп до машината. Виж дали с някой колега няма да може да го дебъгнете (например @Георги Ангелов, който изглежда доста навътре с тази операционна система :)), или пък ме хвани мен или някой друг от екипа в някое междучасие да го погледнем.

  11. Ок, надявам се да не спамя темата, но искам да кажа как си реших проблема ако случайно има някой друг с моя проблем.

    Преди да се инсталира rubyinstaller-2.1.0-r , трябва да се види дали вече имаме инсталирана друга дистрибуция(В моя случай, аз имах Ruby 1.9.3).След като се деинсталира трябва да се види дали има други останали файлове на ОС, защото деинсталирането не премахва на 100% файловете.Аз ги намерих като в търсачката написах: '.gems' . Там се появиха разни файлове(sinatra също беше там.Доколкото помня от миналата година, това не е точно Framework, Но е подобно на Rails, а може и да говоря глупости), които допълнително съм инсталирал през средата irb.Премахнах ги собственоръчно, инсталирах на чисто rubyinstaller-2.1.0-r и нещата тръгнаха.

    Лека вечер!

Трябва да сте влезли в системата, за да може да отговаряте на теми.