14.9.1. Ruby в виде одного файла
14.9.1. Ruby в виде одного файла
Иногда нужно быстро или временно установить Ruby. Или даже включить Ruby в состав собственной программы, поставляемой в виде одного исполняемого файла.
Мы уже познакомились с «моментальным инсталлятором» Ruby для Windows. Существуют планы (пока еще не оформившиеся) создать подобный инсталлятор для Linux и Mac OS X.
Эрик Веенстра (Erik Veenstra) недавно добился значительных успехов в создании пакетов, включающих как Ruby, так и написанные на нем приложения. Он автор пакетов AllInOneRuby, Tar2RubyScript и RubyScript2Exe (все они есть на его сайте http://www.erikveen.dds.nl).
AllInOneRuby — это дистрибутив Ruby в одном файле. В пакет входят интерпретатор Ruby, системные классы и стандартные библиотеки, упакованные в единый архив, который легко перемещать или копировать. Например, его можно записать на USB-диск, носить в кармане и «установить» на любую машину за считанные секунды. Работает AllInOneRuby на платформах Windows и Linux; имеется также экспериментальная поддержка для Mac OS X.
Что такое Tar2RubyScript, следует из самого названия. Программа получает на входе дерево каталогов и создает самораспаковывающийся архив, включающий написанную на Ruby программу и архив в формате tar. Идея та же, что у JAR-файлов в языке Java. Запускаемый сценарий должен называться init.rb; если сохраняется библиотека, а не автономное приложение, этот файл можно опустить.
Название RubyScript2Exe, наверное, не вполне удачно. Программа действительно преобразует написанное на Ruby приложение в один двоичный файл, однако работает она не только в Windows, но и в Linux и Mac OS X. Можете называть ее компилятором, хотя в действительности она им, конечно, не является. Она собирает файлы, являющиеся частью установленного дистрибутива Ruby на вашей машине, поэтому не нуждается в кросс-компиляции (даже если бы такая возможность имелась). Имейте в виду, что исполняемый файл «усечен» в том смысле, что неиспользуемые библиотеки Ruby в него не включаются.
Архив, созданный программой Tar2RubyScript, можно запустить на любой машине, где установлен Ruby (и программы, которые необходимы самому приложению). RubyScript2Exe не имеет такого ограничения, поскольку включает (наряду с вашим приложением) интерпретатор Ruby, всю среду исполнения и все необходимые внешние программы. Можете использовать эти инструменты вместе или порознь.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Установка размера файла, инициализация файла и разреженные файлы
Установка размера файла, инициализация файла и разреженные файлы Функция SetEndOfFile позволяет переустановить размер файла, используя текущее значение указателя файла для определения его размера. Возможно как расширение, так и усечение файла. В случае расширения файла
Число загрузок с одного хоста
Число загрузок с одного хоста Над временной диаграммой (кроме блокирования картинок) нам также стоит задуматься о том, что картинки после скрипта загружаются только по две. Это происходит из-за ограничений на число файлов, которые могут быть загружены параллельно. В IE <=
Сценарий входа для одного пользователя
Сценарий входа для одного пользователя Сценарии входа для отдельных пользователей назначаются с помощью оснастки Локальные пользователи и группы (Local users and groups). Замечание В Windows NT для этого использовался Диспетчер пользователей (User Manager for Domain). Для добавления этой
5.25 Множество адресов для одного интерфейса
5.25 Множество адресов для одного интерфейса Некоторые производители маршрутизаторов предусматривают возможность присваивать несколько IP-адресов одному интерфейсу маршрутизатора. Для чего же это нужно? Несколько адресов подсетей могут потребоваться, во-первых, в
1.3. ООП в Ruby
1.3. ООП в Ruby В языке Ruby есть все элементы, которые принято ассоциировать с объектно-ориентированными языками: объекты с инкапсуляцией и сокрытием данных, методы с полиморфизмом и переопределением, классы с иерархией и наследованием. Но Ruby идет дальше, добавляя
12.1. Ruby/Tk
12.1. Ruby/Tk Своими корнями Tk уходит в далекий 1988 год, если считать и предварительные версии. Долгое время эта система считалась спутником языка Tcl, но вот уже несколько лет как она используется и с другими языками, в том числе Perl и Ruby.Если бы у Ruby был «родной» графический
12.5.1. Ruby и X
12.5.1. Ruby и X Систему X Window System в разговорной речи называют (не совсем корректно) просто X Windows. Вероятно, она является прародителем если не всех, то абсолютного большинства графических интерфейсов пользователя.Пользователи всех вариантов UNIX давно уже знакомы с X (как
12.3. Уведомление одного потока другим
12.3. Уведомление одного потока другим ПроблемаИспользуется шаблон, в котором один поток (или группа потоков) выполняет какие-то действия, и требуется сделать так, чтобы об этом узнал другой поток (или группа потоков). Может использоваться главный поток, который передает
1.2.1. Компиляция одного исходного файла
1.2.1. Компиляция одного исходного файла Компилятор языка С называется gcc. При компиляции исходного файла нужно указывать опцию -с. Вот как, например, в режиме командной строки компилируется файл main.с:% gcc -с main.сПолученный объектный файл будет называться main.o.Компилятор языка
Сохранение проекта в виде исполняемого файла
Сохранение проекта в виде исполняемого файла Помимо всего прочего, система ArCon предоставляет очень мощную возможность для сохранения разработанного проекта в виде исполняемого EXE-файла. Данная возможность очень удобна для демонстрации проекта заказчику или другим
Уничтожение одного элемента.
Уничтожение одного элемента. 1. Кликните дважды на элемент (заголовок, параграф, стихи и т. д.).2. Нажмите иконку BookCorrector "delete" или кликните правой кнопкой мышки внутри основного окна BookDesigner и затем нажмите "delete" в появившемся
ТЕМА НОМЕРА: Пятеро на одного
ТЕМА НОМЕРА: Пятеро на одного Автор: Владимир ГуриевНесколько лет назад со мной произошла странная история. Мне позвонили из компании, торгующей продукцией Apple, и предложили потестировать Мак Мини. Я честно с ним провозился и написал, как мне тогда казалось, вполне
АНАЛИЗЫ: История одного SimCity
АНАЛИЗЫ: История одного SimCity Автор: Никитин, АркадийПопулярные еще несколько лет назад дебаты о влиянии компьютерных игр на психику игроков мало-помалу сошли на нет. Но даже когда дискуссии между психологами, психиатрами и пациентами были в самом разгаре, обсуждение, как
Пары ключей одного субъекта
Пары ключей одного субъекта Более широкое распространение инфраструктур открытых ключей, скорее всего, приведет к тому, что субъектам PKI придется иметь целый набор пар ключей одного назначения (например, для цифровой подписи). Уже сейчас появляется необходимость