Установка RubyGems в домашний каталог
Материал из DiPHOST.Ru wiki system
Schors (Обсуждение | вклад) |
Schors (Обсуждение | вклад) |
||
Строка 42: | Строка 42: | ||
Для того, чтобы скрипты, запускающиеся по cron могли иметь доступ к локально установленным gems и/или библиотекам, в начале crontab-файла следует прописать нужные строки: | Для того, чтобы скрипты, запускающиеся по cron могли иметь доступ к локально установленным gems и/или библиотекам, в начале crontab-файла следует прописать нужные строки: | ||
- | + | ||
- | GEM_HOME= | + | GEM_HOME=/home/{{hl|ваш_логин}}/.gem |
- | GEM_PATH= | + | GEM_PATH=/home/{{hl|ваш_логин}}/.gem/ruby/1.8:/usr/local/lib/ruby/gems/1.8/ |
- | PATH= | + | PATH=/bin:/usr/bin:/usr/local/bin:/home/{{hl|ваш_логин}}/.gem/ruby/1.8/bin |
- | RUBYLIB=путь_к_библиотеке | + | RUBYLIB=путь_к_библиотеке |
- | + | ||
+ | Обращаем внимание, что переменные типа $PATH или $HOME не разбираются в crontab и требуется полностью прописывать все пути. | ||
[[Category:HowTo]] | [[Category:HowTo]] |
Версия 21:10, 13 июня 2010
RubyGems (англ. gem, gems — драгоценный камень) — менеджер пакетов для языка программирования Руби который предоставляет стандартный формат для программ и библиотек Руби (в самодостаточном формате «gems»), инструменты, предназначенные для простого управления установкой «gems», и сервер для их распространения (источник http://ru.wikipedia.org/wiki/RubyGems )
Пакеты могут быть установлены с любого gems-сервера. По умолчанию, gems ищет пакеты на сервере rubygems.org.
Содержание |
Настройка консоли для работы с локальными модулями
Для того, чтобы интерпретатор Ruby, вызванный из консоли, "видел" установленные локально gems, запустите команду:
Process '/usr/local/bin/highlight --fragment --style=jedit --syntax='sh' --style-outfile='/home/dipwiki/tmp/highlight.css'' failed to start?
You need to specify a language like this: <source lang="html">...</source>
Supported languages for syntax highlighting:
(error loading support language list)и посмотрите, какие пути он укажет после ключевого слова GEM PATHS Добавьте в файл .profile соответствующие строки, сообразуя их с увиденным. Например у нас это будет:
Process '/usr/local/bin/highlight --fragment --style=jedit --syntax='sh' --style-outfile='/home/dipwiki/tmp/highlight.css'' failed to start?
You need to specify a language like this: <source lang="html">...</source>
Supported languages for syntax highlighting:
(error loading support language list)Это следует сделать ДО установки модулей, во избежании накладок при установке. Не забудьте "перелогиниться" после добавления, чтобы настройки применились.
Установка с помощью gem
Установка с помощью gem очень простая. Достаточно набрать команду:
Process '/usr/local/bin/highlight --fragment --style=jedit --syntax='sh' --style-outfile='/home/dipwiki/tmp/highlight.css'' failed to start?
You need to specify a language like this: <source lang="html">...</source>
Supported languages for syntax highlighting:
(error loading support language list)Установка уникальных библиотек, не входящих в gems
Допустим, есть набор файлов на языке Ruby, которые хотелось бы использовать в качестве библиотеки. Как заставить интерпретатор Ruby увидеть местонахождение этой библиотеки? Очень просто, следует добавить в файл .profile следующие строки:
Process '/usr/local/bin/highlight --fragment --style=jedit --syntax='sh' --style-outfile='/home/dipwiki/tmp/highlight.css'' failed to start?
You need to specify a language like this: <source lang="html">...</source>
Supported languages for syntax highlighting:
(error loading support language list)Использование в crontab
Для того, чтобы скрипты, запускающиеся по cron могли иметь доступ к локально установленным gems и/или библиотекам, в начале crontab-файла следует прописать нужные строки:
GEM_HOME=/home/ваш_логин/.gem GEM_PATH=/home/ваш_логин/.gem/ruby/1.8:/usr/local/lib/ruby/gems/1.8/ PATH=/bin:/usr/bin:/usr/local/bin:/home/ваш_логин/.gem/ruby/1.8/bin RUBYLIB=путь_к_библиотеке
Обращаем внимание, что переменные типа $PATH или $HOME не разбираются в crontab и требуется полностью прописывать все пути.