LINUX.ORG.RU

бинарник с ruby

 , ,


0

1

Доброго дня господа.
Не знаю как грамотно задать вопрос. Если своими словами:
Есть ли способ делать бинарники (или не бинарники, суть не в закртости) с ruby (в теории с чем угодно), путём совмещения всего дистрибутива языка и нужных мне файлов в контейнер, который будет переносим, и не будет требовать наличия того же дистрибутива в системе?
Ну и если не прямое указание к действиям, то куда копать и что раскурить.
Спасибо адекватно ответившим.

★★★

Последнее исправление: Spirit_of_Stallman (всего исправлений: 1)

Просто таскать с собой целый дистрибутив Ruby. 70% софта в винде именно так и распространяется. (Например Psi тот-же с собой таскает все нужные DLLки от Qt4.)

resurtm ★★★
()

Если можно не одним файлом, то просто сделать свой маленкий FHS и скрипт запускалу вытвляющий нужные PATH и LD_LIBRARY_PATH

antares0 ★★★★
()

Есть ли способ делать бинарники (или не бинарники, суть не в закртости) с ruby (в теории с чем угодно), путём совмещения всего дистрибутива языка и нужных мне файлов в контейнер, который будет переносим, и не будет требовать наличия того же дистрибутива в системе.

а можно узнать с какой целью? Из твоего описания мне видится msi, который в венде и так будет работать, а в версии для Linux к нему можно wine присобачить. Ну как team_viewer.

drBatty ★★
()
Ответ на: комментарий от drBatty

и да, разве сложно сделать по человечески, обычный autoconf, а потом пусть маинтейнеры парятся?

drBatty ★★
()
Ответ на: комментарий от antares0

гугль вот посказывает RubyScript2Exe

Да, пока сам пытался осилить вопрос - натыкался.
Но дело в том, что я уже года 4ре не имею дел с виндой, и, надеюсь, так и не возникнет такая необходимость :)

Spirit_of_Stallman ★★★
() автор топика
Ответ на: комментарий от resurtm

Просто таскать с собой целый дистрибутив Ruby

Ну, я то того и хотел бы, но не имею понятия куда копать, для реализации.

Spirit_of_Stallman ★★★
() автор топика
Ответ на: комментарий от drBatty

а можно узнать с какой целью?

Да, не проблема:
Есть у меня повседневные задачи, на работе, которые я выполняю на ~3 серваках; бывает нужно развернуть одно из решений на левых (точнее наших же, но не моих) серверах (иногда временно, иногда на постоянку).
Разворачивать каждый раз весь дистриб руби, с нужными гемами - очень надоедливая задача (особенно если это rpm дистр (особенно с версиями языка), с дебианом и ко - гораздо приятней процесс)
Потому хочу файлик или папочку, что скопировал - и работает.

Spirit_of_Stallman ★★★
() автор топика
Ответ на: комментарий от Spirit_of_Stallman

Но дело в том, что я уже года 4ре не имею дел с виндой,

Несмотря на название на сайте написано

RubyScript2Exe transforms your Ruby application into a standalone, Windows, Linux or Mac OS X (Darwin) executable.

antares0 ★★★★
()
Ответ на: комментарий от Spirit_of_Stallman

Есть у меня повседневные задачи, на работе, которые я выполняю на ~3 серваках; бывает нужно развернуть одно из решений на левых (точнее наших же, но не моих) серверах (иногда временно, иногда на постоянку). Разворачивать каждый раз весь дистриб руби, с нужными гемами - очень надоедливая задача (особенно если это rpm дистр (особенно с версиями языка), с дебианом и ко - гораздо приятней процесс)

именно потому я и не люблю питон. Проще юзать всякие bash+sed, ибо они работают везде. Конечно не очень удобно, и медленнее, но за всё надо платить.

drBatty ★★
()
Ответ на: комментарий от drBatty

Проще юзать всякие bash+sed, ибо они работают везде. Конечно не очень удобно, и медленнее, но за всё надо платить.

До этого я так и делал, писал полотна на баше по 500 плотных строк.
Хоть и умею это делать, но констатирую - это жуткий изврат и содомия.
Перешел на рубины - кроме вышеописанной задачи - всё остальное как в лучших домах ландону и парижу.

Spirit_of_Stallman ★★★
() автор топика
Ответ на: комментарий от Spirit_of_Stallman

Хоть и умею это делать, но констатирую - это жуткий изврат и содомия.

sed, perl, awk... мне хватает. Может то, что у тебя содомия в bash, очень изящно решается на gawk...

drBatty ★★
()
Ответ на: комментарий от antares0

Несмотря на название на сайте написано

Спасибо за внимательность.
Моя предвзятость сразу отработала на отлично :(

Spirit_of_Stallman ★★★
() автор топика

Так умеют реализации Smalltalk, например, pharo и visualWorks. Ключевое слово: образ.

dave ★★★★★
()
Ответ на: комментарий от Spirit_of_Stallman

Э.. ну так же https://rvm.io/

Если, например rvm установилось в ~/.rvm , то эту папку можно и таскать повсюду, а можно и ставить каждый раз.

с нужными гемами

Ну так bundler же.

bundler install
и все дела Т.е. каждый твой скрипт должен быть в отдельной папке, где будет, собственно, скрипт и Gemfile. Сам же скрипт может быть Rakefile или thor https://github.com/wycats/thor/wiki

думаю надо на thor переходить.. -_-

special-k ★★★★
()
Ответ на: комментарий от Spirit_of_Stallman

Не знаю насколько актуально сообщать, но увы и ах оно сгнило :(

Я не рубист, это всего лишь результаты попутного гугления. Кстати какая сгнила котрая на SF 2009г или на github доконтованая в 2011-ом?

К слову еще Crate

antares0 ★★★★
()
Ответ на: комментарий от antares0

Кстати какая сгнила котрая на SF 2009г или на github доконтованая в 2011-ом?

Они идентичны.
На GH так вышло в виду правки в доках.

Crate

Тоже сам доходил до него.
С ним проблемы в 64-битных системах.

Spirit_of_Stallman ★★★
() автор топика
Ответ на: комментарий от Spirit_of_Stallman

RubyScript2Exe
Не знаю насколько актуально сообщать, но увы и ах оно сгнило :(

К сожалению, RubyScript2Exe уже давно не развивается. Из всех подобных проектов сейчас вроде жива только OCRA. Но она только под Windows.

beka
()

rvm вам нужнен. Нужные для работы файлы оформляете в один или несколько gem'ов и устанавливаете все нужные либы и прочее. Затем ваше персональное окружение с нужной версией ruby, и всем что вы установили синхронизируете по всем вашим сервакам. При помощи того же rsync... И дело в шляпе.

lucentcode ★★★★★
()
Ответ на: комментарий от lucentcode

Увы, не подойдёт.
Помимо того что каждый «отсаженец» становиться в чём-то уникален, еще и не всегда сервера в общей сети.

Spirit_of_Stallman ★★★
() автор топика
Ответ на: комментарий от Spirit_of_Stallman

а таскать каталог с rvm на флешке? Если вы говорите, что на разных машинах у вас разные версии скриптов, так что мешает создать несколько разных профилей? И переключать их? Вот вам и уникальность. Если есть сервак с внешним IP, так разверните git-репу с каталогом rvm. Синхронизируйте репу. А создав по профилю для каждого сервака, вы получите именно то, что вам нужно.

lucentcode ★★★★★
()

плюсую ораторов special-k и lucentcode ТС, для твоих целей подходит такие замечательные инструменты как rvm и bundler

anonymous
()
Ответ на: комментарий от Virtuos86

какая разница? я о том, что недостаток питона в том, что он есть не на всех хостах. И хотя лично я не против питона, многие админы - против. У них есть уютная перловка, на которой они всё и пишут. И их не переделать. Что касается руби - то с ним ещё хуже. Намного хуже на самом деле. Если-бы руби был везде, этого треда не было-бы. ИЧСХ, ситуация лучше не станет - уже очевидно, что этот ваш руби не станет вторым перлом. Такие дела.

drBatty ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.