html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

RVM Autolibs: Автоматическое управление зависимостями и Ruby 2.0 перевод


Прошлый месяц ознаменован началом новой вехи для рубистов — релиз Ruby 2.0.0. Вместе с ним обновлённый RubyGems и новые зависимости, включая OpenSSL. Ранее RVM почти ничего не предпринимала для разрешения зависимостей, устанавливая вместо этого LibYAML, так как он был нужен для функционирования RubyGemsк. Ситуация изменилась с появлением OpenSSL, так как это является бОльшей зависимостью. Раньше для Ruby 2.0.0-rc RVM устанавливал OpenSSL. Однако компилирование OpenSSL не лёгкая задача, используя LibYAML.

Новый подход

Чтобы заставить это всё работать, RVM использует новый подход. Теперь при установке необходимых библиотек он работает в паре с системным package менеджером. Это не простая задача, так как разные системы имеют разные имена для пакетов, некоторые из них доступны по умолчанию, а некоторые недоступны вообще!

Это просто, когда это просто

Очень просто использовать существующий менеджер пакетов на любой из систем. Неприятности начинаются тогда, когда система не имеет менеджера пакетов по умолчанию, как в случае с OSX. Есть множество менеджеров пакетов, и ни один из них не является достаточно популярным, чтобы стать де-факто стандартом. Учитывая это, RVM необходимо найти установленный менеджер пакетов или установить его в случае отсутствия оного.

Чувствительные значения по умолчанию

Когда autolibs впервые был добавлен, RVM думал, что пользователь хотел, чтобы всю работу сделали за него. Однако реальность показала, что некоторые пользователи думают по-другому и предпочитают устанавливать зависимости вручную. Нужен был компромисс, удовлетворяющий всех. В итоге RVM будет определять доступные библиотеки и потерпит неудачу, если они будут недоступны. У пользователей теперь есть опция переключаться между различными режимами, такими как “сделать всё за меня” и “я сделаю это сам”.

Сделай всё за меня

Пользователи, которые хотят автоматическую установку библиотек, могут использовать autolibs режим 4 aka. enable. Это прикажет RVM найти менеджер пакетов (и установить таковой, если потребуется), установить все зависимости и, наконец, использовать их для компиляции. Если менеджер пакетов недоступен (на OS X), будет установлен Homebrew. Однако пользователи также могут указать, какой менеджер будет установлен с режимами autolibs osx_port, osx_fink и smf. Менеджер smf предназначен для менее известного RailsInstaller SM фреймворка.
Для систем с установленным системным менеджером пакетов режим 4 идентичен режиму 3, который установит недостающие пакеты.

Я сделаю это сам

Для пользователей, которые не хотят, чтобы RVM всё делал за них, есть два подходящих режима. Режим 1 позволяет пользователям указать RVM брать библиотеки и просто выдавать ошибку, если они недоступны. В случаях, где даже автоматическая проверка доступности не нужна, можно выключить её, используя режим 0. Однако тут есть нюанс. Учитывая, что код становится более динамичным, нет больше списка, чтобы показать, что требуется. Это означает, что некоторые библиотеки будут выбраны в зависимости от состояния системы.

Пару уловок

Для установки RVM вместе с Ruby, Ruby on Rails и необходимыми библиотеками (aka. RailsInstaller для бедных):
 \curl -L https://get.rvm.io | bash -s stable --rails --autolibs=enable

Для использования rvm в разработке, где sudo требует особого обращения, как в случае с capistrano:
   task :install_requirements do
      sudo “rvm --autolibs=4 requirements #{rvm_ruby_string}”
    end
    task :install_ruby do
      run “rvm --autolibs=1 install #{rvm_ruby_string}”
    end

Более подробная информация об autolibs доступна по адресу rvm.io/rvm/autolibs.

Обратная связь

Мы тестировали код autolibs достаточно давно, но благодаря вниманию более широкой публики могут быть созданы новые классы и устранены уязвимости. Если вы нашли уязвимость, мы с радостью её устраним. Посылайте все запросы об уязвимостях на наш баг трекер github.com/wayneeseguin/rvm/issues или на наш канал IRC webchat.freenode.net/?channels=rvm

Официальное начало работы над RVM 2.0.

RVM 1.19 был последним релизом с новым функционалом (Autolibs). В будущем все нововведения будут отложены до выхода RVM 2.0. Мы будем предоставлять поддержку, работать над устранением багов и обновлять версии до тех пор, пока не выйдет стабильный релиз RVM 2.0. Но для того, чтобы была возможность работать над RVM 2.0, мы приостановим выход новых фич, доступных в RVM 1.x.
Читать дальше
Twitter
Одноклассники
Мой Мир

материал с habrahabr.ru

0

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • habrahabr.ru
          • домен habrahabr.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции