Как проверить версию Ruby Dev Kit, установленную в моей Windows?
Ruby dev kit установлен в моей Windows 7. Как я могу проверить, 32-битная или 64-битная версия и номер версии
Я не спрашиваю, как проверить версию ruby, которая ruby -v
5 ответов
На 32-битной и 64-битной части:
32-битная версия даст 4 64-битная версия 8 , (Это размер FixNum в байтах.)
Видимо, ответ заключается в том, что нет способа получить версию DevKit (согласно этому посту в группах Google для RubyInstaller). Перефразируя эту публикацию, поскольку она не является установщиком, она не предоставляет информацию о версии. Казалось бы, единственный способ узнать наверняка — это найти оригинальный zip-файл, который использовался для его установки.
Начиная с Ruby 2.4.0, набор инструментов MSYS2 используется в качестве набора для разработки. (Узнайте больше на https://rubyinstaller.org/downloads/)
Я не знаю ни одной команды, которая бы возвращала, если установлен MSYS2 / или как проверить его версию. Что ты можешь сделать:
Чтобы проверить, был ли MSYS2 частью вашей установки:
- Проверьте имя вашего установочного файла, например rubyinstaller-devkit-2.5.1-1-x64 , Как здесь, если devkit в названии, это означает, что он может быть установлен.
- Перейдите к установленным программам и найдите для Ruby, для меня это Ruby 2.5.1-1-x64 with MSYS2 ,
Чтобы проверить, установлен ли MSYS2 на самом деле:
Если там есть msys64 каталог в вашей установочной папке Ruby, это означает, что MSYS2 там.
Чтобы проверить, какая версия установлена, откройте командную строку и выполните следующую строку C:\Ruby25-x64\msys64\mingw64\bin>gcc —version (в правильном каталоге на вашем компьютере, конечно).
gcc (Rev2, Built by MSYS2 project) 7.3.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Как узнать, на какой версии ruby основан существующий проект rails?
У меня есть существующий проект ruby on rails. Как узнать, какая версия ruby изначально используется для приложения?
изменить: Подводя итог этой теме: Если нет конкретных драгоценных камней ruby-версии, каждый Рубин должен работать. Все ваши сообщения были полезными-спасибо.
6 ответов
Если не используются драгоценные камни конкретной версии, я не уверен, что можно определить точную версию ruby, используемую во время разработки. В любом случае, приложение может отлично работать с несколькими версиями, в зависимости от особенностей.
Если приложение имеет комплексные тесты, вы можете просто вернуться, чтобы найти последнюю версию, для которой все тесты проходят.
проверка минимальной версии Ruby, совместимой с используемой версией Rails, также поможет сузить поле.
некоторые люди используют rvm для управления gemsets в своих проектах, в этом случае .rvmrc содержит эту информацию, например: «ruby-1.9.2-p180@projectname»
ответы выше разделены между двумя случаями:
- где приложение все еще работает (в производстве или иначе), где вы можете подключиться к производственной консоли и проверить версию
- где единственный «артефакт» доступен исходный код приложения в исходном коде
для #2, ответов покрыть ее довольно много. Вам, ребята, повезло.
для #1, его больше археологической экспедиции. Я считаю, что OP в этом ситуация и я сегодня были в похожей ситуации.
просмотр версий gem, вероятно, лучший способ сделать это.
вот несколько подсказок, которые можно использовать, для справки каждого. (В интересах тех, кто наткнется на эту статью в будущем):
знаки приложение было построено в Ruby 1.8.7
- существование драгоценного камня SystemTimer в Gemfile.lock (1)
- существование ruby-debug в GemFile, в отличие от ruby-debug19 для 1.9. Я считаю, что это также может означать 1.8.6
знаки приложение было построено в Ruby 1.9
кодировка: UTF-8 в верхней части каждой страницы
знаки приложение было построено с jruby
В общем, если Вы читаете старые » руководства по миграции из 1.8.7 для 1.9″, в котором перечислены различия, вы можете использовать эти различия, чтобы помочь вам найти ключи. См.:
и это сообщение в блоге airbnb:
(1): «Использование этого драгоценного камня в Ruby 1.9 бесполезно и не имеет никакого смысла! Система таймера попытка обойти некоторые ограничения модели «зеленой нити», используемой в Ruby 1.8 (MRI). Вижу http://ph7spot.com/musings/system-timer для более подробной информации.»Выпадающая замена SystemTimer-это timeout.rb от Ruby core.21 октября 2011 » Источник: https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=systemtimer%20gem
для меня я вошел на сервер, где был размещен проект, чтобы увидеть, какая версия была установлена там: ruby —version
Проверьте, использует ли он ruby1.9 только файлы gem, такие как ruby-debug19, или, наоборот, драгоценные камни, которые предназначены только для 1.8. Посмотрите, используется ли String#force_encoding — он может намекнуть, что это 1.9. Другие 1.9 функции реже используются AFAIK.
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 2.6.X (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.
Далее нам предлагается:
Просто нажимаем 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, которая полностью восстанавливает сайты из веб архива.
Для установки 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 следит за зависимостями и устанавливает их.