Локальная установка ruby ​​/ rubygems без прав root - PullRequest
2 голосов
/ 21 декабря 2009

У меня есть машина, с которой я хотел бы запустить скрипт, который собирает некоторую информацию о других машинах. Я хочу сделать это в Ruby, так как это то, что я знаю лучше всего, но я столкнулся с некоторыми проблемами, очевидно, по одной и той же причине: у меня нет root-доступа на этой машине.

Итак, что я сделал: скачал исходный код ruby, сконфигурировал (с --prefix, указывающий куда-то под моим домашним каталогом), сделал, сделал установку. Хорошо, рубин работает нормально. Затем я сделал то же самое с rubygems и установил его. Хорошо, пока я не установил свой первый драгоценный камень.

Я скачал пакет gem (вздох, много брандмауэров, не могу просто «установить gem» что-то удаленное), net-ssh и попытался установить его локально. Получил печально известное "нет такого файла для загрузки - zlib". Подсказки об этом ни к чему не привели, поэтому я попробовал следующий подход: получить исходный код net-ssh. Когда он пытается запросить 'openssl' (или когда я пытаюсь сделать это из irb), я получаю сообщение "нет такого файла для загрузки - openssl".

Все эти проблемы, по-видимому, могут быть решены путем установки apt-get или rpm, или как угодно. Единственная проблема: я не могу!

Какие-нибудь предложения относительно того, как я мог бы продолжить?

Спасибо за помощь, Марсело.

Ответы [ 3 ]

1 голос
/ 22 декабря 2009

Закрытие сейчас.

Мне пришлось попросить кого-то с правами root установить zlib-devel и openssl-devel (я нахожусь на RHEL). Не мог сделать это иначе.

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

0 голосов
/ 22 декабря 2009

Я недавно сделал то же самое. Хитрость, которая сработала для меня, это НЕ использовать флаг --prefix при установке rubygems.

0 голосов
/ 21 декабря 2009

Вы пробовали Ruby RVM ? Вы можете скачать, скомпилировать и установить полнофункциональную версию Ruby в своей домашней среде.

...