Среда разработки для ruby on rails под windows

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Как установить и использовать Ruby в Windows

Для чего устанавливать Ruby

Ruby — это скриптовый язык, то есть для запуска программ не требуется предварительная компиляция. В этом смысле Ruby является аналогом PHP, Python, PERL и других.

Ruby достаточно популярный язык и на нём написано много интересных программ; если говорить применительно к InfoSec, то в качестве примеров можно привести знаменитые WPScan, WhatWeb, Wayback Machine Downloader и другие.

Установив Ruby на Windows вы сможете запускать программы, написанные на этом языке, а также изучать это язык программирования и писать свои собственные скрипты.

Кстати, Ruby, наравне как и PHP, Python и PERL, может быть модулем веб-сервера и скрипты, написанные на этом языке, можно использовать в качестве программной основы веб-сайта или сервиса.

Как установить Ruby на Windows

Там вы увидите много вариантов установщика, которые различаются не только версиями, но и составом скаченных файлов. Исполнимые файлы являются самодостаточными установщиками для Windows, которые включают язык Ruby, окружение выполнения, важную документацию и прочее. Если вы не знаете, какую версию установить, чтобы начать знакомство с Ruby, то рекомендуется установщик Ruby+Devkit * (x64). Он предоставляет самое большое число совместимых gem (пакеты Ruby) и устанавливает MSYS2-Devkit вместе с Ruby, благодаря чему gem с C-расширениями могут быть скомпилированы сразу после завершения установки.

Запустите скаченный файл. В этом окне мы можем выбрать настройки:

Папку установки можно оставить без изменения.

Add Ruby executables to your PATH – означает добавить каталог с исполнимыми файлами Ruby в системную переменную. Это рекомендуется сделать, чтобы не указывать при каждом запуске скрипта Ruby полный путь до интерпретатора скриптов.

Associate .rb and .rbw files with Ruby installation — означает связать файлы с расширениями .rb и .rbw с установленным Ruby. Благодаря этому файлы Ruby можно будет запускать двойным кликом или набрав имя скрипта в командной строке.

Use UTF-8 as default external encoding – означает использовать кодировку UTF-8 в качестве внешней кодировки по умолчанию.

Я выбрал все три галочки и в качестве папку установки ввёл C:\Ruby26:

Как видно на следующей странице, сам пакет Ruby занимает немного места, но много места занимается предлагаемая к установке набор инструментов разработчика MSYS2. Я настоятельно рекомендую установить MSYS2, поскольку кроме упомянутой выше возможности компилировать пакеты для Ruby, MSYS2 обеспечивает консольное окружение с функциями Linux (примерно как это делает Cygwin, но с дополнительными возможностями).

Оставьте галочку на последнем окне для настройки инструментов разработчика MSYS2 и нажмите Finish.

Читайте также:  Самый простой linux для новичка

Далее нам предлагается:

Просто нажимаем ENTER для выполнения всех трёх действий:

Всё завершено, для выхода нажмите ENTER:

Кстати, если вы внимательно смотрели за происходящем на экране, то могли заметить pacman. В этом консольном окружении действительно есть менеджер пакетов pacman. К другим функциями MSYS2 вернёмся чуть позже.

Подробнее о Pacman смотрите в статьях:

Как обновить Ruby на Windows

Для обновления до последнего патча (то есть минорной версии, к примеру с 2.5.1 до 2.5.4), достаточно запустить новую версию установщика. Установленные gem (пакеты из репозитория Ruby), не перезаписываются и будут работать с новой версией без переустановки. Для обновления установки достаточно использовать RubyInstaller без Devkit. Обновить Devkit можно отдельно запустив в командной строке Windows следующую команду:

При выходе новой мажорной версии её нельзя обновить установкой в ту же директорию, что и предыдущая. К примеру, если предыдущая версия установки RubyInstaller-2.5.x, а новая версия RubyInstaller-2.6.x, то её нужно установить либо в новую директорию, либо удалить старую версию и вместо неё установить новую, поскольку gem (программы) с C расширениями не совместимы между ruby-2.5 и 2.6.

Как установить и использовать gem в Windows

RubyGems — это менеджер пакетов для Ruby. С помощью него можно установить различные программы и их зависимости, установку можно делать как из исходного кода на локальной системе, так и с удалённых источников приложений.

Показанная выше установка Ruby также устанавливает и gem, чтобы в этом убедиться выполните команду:

Вы должны увидеть справку по использованию gem.

Чтобы вывести все доступные команды gem, выполните:

Чтобы установить пакет запустите команду вида:

Больше примеров по установке пакетов будет далее.

Чтобы показать справку о команде установки:

К примеру, для установки программы ‘rake’ из локальной директории или удалённого сервера:

Установка пакета ‘rake’ только с удалённого сервера:

Установка ‘rake’, но только версии 0.3.1, даже если имеются неудовлетворённые зависимости, установку сделать в пользовательскую директорию:

Вывести список gem (пакетов), чьё имя начинается на ‘D’:

Вывести список локальный и удалённых gem, чьё имя содержит ‘log’:

gem search log —both

Предыдущая команда используется для поиска пакетов по имени.

Вывести список только удалённых (не локальных) gem, чьё имя содержит ‘log’:

Просмотреть информацию о RubyGems:

Обновить все программы gem в системе:

Обновить локальную версию RubyGems:

Как установить bundler

bundler — это менеджер зависимостей Ruby. Данный менеджер пригодится при установке других программ, написанных на Ruby.

Для установки bundler в Windows выполните:

Для обновления bundle выполните команду:

Если вы устанавливаете программу из исходного кода и там присутствует файл Gemfile, то перейдите в папку с этой программой и выполните в ней команду:

Эта команда установит все перечисленные в файле Gemfile зависимости.

Чтобы увидеть, где установленные с помощью bundle пакеты gem, используйте команду:

Как установить программу Ruby в Windows. Как запустить программу Ruby в Windows

Далее рассмотрим несколько примеров установки и использования программ на Ruby в Windows.

Восстановление сайтов из Интернет Архива в Windows

Начнём с программы Wayback Machine Downloader, которая полностью восстанавливает сайты из веб архива.

Читайте также:  Operation flashpoint cold war crisis windows 10

Для установки Wayback Machine Downloader достаточно выполнить:

Запустим для проверки работоспособности программы восстановление сайта из Архива Интернета:

Программа успешно завершила работу:

Как установить WhatWeb в Windows

WhatWeb идентифицирует веб-сайты. Цель этой программы ответить на вопрос «Чем является этот веб-сайт?». WhatWeb распознает веб-технологии, в том числе систему управления контентом (CMS), платформы для ведения блогов, пакеты статистики/аналитики, библиоотеки JavaScript, веб-сервера и встроенные устройства. WhatWeb имеет более 1700 плагинов, каждый из которых для распознавания чего-то одного. WhatWeb также идентифицирует номера версий, email адреса, ID аккаунтов, модули веб-платформ, SQL ошибки и прочее.

Начнём с поиска WhatWeb в репозитории пакетов Ruby:

Найдено только simple_whatweb (0.4.1).

Даже если это WhatWeb, то версия очень старая. Поэтому на Windows установим WhatWeb из исходного кода.

Распакуйте эту папку. Откройте командную строку и перейдите в эту папку:

Следующая команда покажет справку по программе:

Запустим проверку сайтов:

Установка WPScan в Windows

Что такое MSYS2. Как пользоваться MSYS2

Мы установили уже MSYS2 для того, чтобы получить доступ к инструментам компиляции, благодаря которым мы сможем установить любой пакет Ruby. На самом деле MSYS2 основывается на Cygwin и содержит большое количество утилит Linux.

MSYS2 предоставляет оболочку bash, Autotools, make, gcc, pacman, sh и многие другие пакеты. Особенно следует отметить менеджер пакетов pacman.

Для активации рабочего окружения MSYS2 откройте командную строку или консоль powershell и выполните там:

В результате сразу станут доступны для работы многие утилиты Linux, а также менеджер пакетов Pacman, с помощью которого можно установить новые пакеты или обновить имеющиеся. При установке пакетов Pacman следит за зависимостями и устанавливает их.

Редакторы для рубистов

Для любого растущего языка всегда есть тонна инструментов, которые вы можете использовать, а также очень сильные мнения о них. Рубин не является исключением.

Есть несколько редакторов, IDE и т. Д., Которые все имеют отличную поддержку Ruby, направленную на то, чтобы вы работали на максимальной «производительности» (я не из тех сумасшедших менеджеров, которые измеряют этот вывод с помощью строк кода, так что вы можете выбрать, как определить это). В этой статье я расскажу о преимуществах, недостатках и странных моментах каждого из них, с моей точки зрения (читай: статья необъективна, но мои мнения верны, поэтому это не имеет значения: P).

Давайте начнем с классики.

Ви появился в те дни, когда пропускная способность была небольшой, и люди терпеливо пользовались своими компьютерами. Он работал внутри вашего терминала / консоли, просто покусывая вашу память и процессор. Набор функций должен был быть ограничен — он выполнил несколько задач, но выполнил их чертовски хорошо. Однако ограниченный набор функций не означал, что он вас сдерживал. С его простыми и составляемыми командами vi стал фаворитом для тех, кто ценил простоту, но нуждался в гибкости и мощности.

Развитие Vi постепенно развалилось, так как в проекте стали перемещаться разные люди. Но не бойтесь, потому что Vim был изобретен! Vim — это модифицированная версия vi, которая призвана предложить больший набор функций, при этом оставаясь верной видению vi простоты и уважения опытного пользователя.

Читайте также:  Nitro sense не запускается windows 10

Итак, какое отношение Vim имеет к Ruby? Ну, вот где это становится немного сложнее.
Сам Vim на самом деле не имеет каких-либо особенностей, специфичных для Ruby (кроме подсветки синтаксиса), но хакеры Rails / Ruby всегда помещают консоль над графическим интерфейсом почти во всех своих решениях как сообщество. Vim полностью удовлетворяет этим требованиям. Кроме того, vim имеет ряд расширений (NerdTree, ctrl + p, vim-rails и т. Д.), Которые делают работу с приложениями Rails / Ruby приятной.

Также нет ничего лучше, чем наблюдать, как кто-то испытывает опыт работы с vi (m) — пальцы, летящие по клавиатуре, где, казалось бы, половина напечатанных символов вставлена ​​самой vim. Для тех, кто предпочитает обычный графический интерфейс для редактора, vim также включает GVim, который является версией vim, использующей GTK (инструментарий интерфейса).

Но Вим не все веселье и игры. Vim — модальный редактор, а это означает, что вы не можете просто начать печатать и ожидать, что вам будет удобно — есть довольно крутая кривая обучения. Есть три разных режима: вставка, визуальный и обычный. Вставка — это та, где вы можете печатать, визуальная — это то, где вы делаете такие вещи, как выделение фрагментов текста, а в «нормальном» режиме нажатия клавиш включают команды vim. Привыкание к такого рода соглашениям может быть очень раздражающим, особенно если вы работаете с IDE и ожидаете, что Ctrl + C скопирует, а Ctrl + V вставит (подробнее об этом позже). Одна из самых раздражающих вещей во всей модальной компоновке (для меня) — это переключение между режимами. Для этого нужно нажать клавишу выхода. Когда вы впервые слышите о концепции, режимы кажутся чем-то редко используемым. Реальность такова, что вы постоянно переключаетесь между режимами, когда используете vim, и вам приходится перемещаться по клавише выхода каждый раз. Это особенно проблема для меня, так как у меня невероятно маленькие руки; не может быть проблемой для некоторых из вас.

Затем есть синтаксис команды. Вы довольно быстро привыкаете к этому, но в большинстве случаев он лишен клавиш «Ctrl» и «Alt», в основном используется алфавит (поэтому есть обычный режим). Копирование и вставка кажутся невероятно сложными, когда вы только начинаете. Есть такие термины, как «буферы» и «регистры», с которыми, как вы думали, вы никогда не столкнетесь, пытаясь понять, как использовать текстовый редактор (всех вещей).

В общем, vi (m) — это круто, если вы можете приспособиться к нему. Для этого потребуются, по крайней мере, некоторые усилия, а также определенная решимость заставить себя продолжать использовать его (немного похоже на изучение сенсорного набора текста — нет особого смысла, если вы не делаете это все время). Кроме того, если вы пришли из IDE, не ожидайте, что некоторые IDE-подобные функции, такие как подчеркивание всех ошибок для вас — vim не предназначен для этого (помните, простота — это ключ!), Так что не надо Не ожидайте особенностей, характерных, например, для Rails.

Emacs

Конечно, теперь, когда мы поговорили о vim, нам совершенно необходимо поговорить об Emacs.

Оцените статью