HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>В поставку Ruby входит утилита<em>gem</em>, через которую ставятся, обновляются и удаляются зависимости. В целом<em>gem</em>- это часть<a>RubyGems</a>, механизма управления библиотеками или пакетами в Ruby.</p>
1 <p>В поставку Ruby входит утилита<em>gem</em>, через которую ставятся, обновляются и удаляются зависимости. В целом<em>gem</em>- это часть<a>RubyGems</a>, механизма управления библиотеками или пакетами в Ruby.</p>
2 <p>Каждая библиотека в Ruby называется гемом. Программисты так и говорят: "Давайте использовать вот этот гем". Список всех гемов можно найти:</p>
2 <p>Каждая библиотека в Ruby называется гемом. Программисты так и говорят: "Давайте использовать вот этот гем". Список всех гемов можно найти:</p>
3 <ul><li>На сайте<a>RubyGems</a></li>
3 <ul><li>На сайте<a>RubyGems</a></li>
4 <li>В модерируемом каталоге<a>RubyToolbox</a>, в котором гемы разбиты по категориям</li>
4 <li>В модерируемом каталоге<a>RubyToolbox</a>, в котором гемы разбиты по категориям</li>
5 </ul><p>Как и у любого пакетного менеджера, у RubyGems есть пути, по которым можно ставить библиотеки и менять переменные окружения. Такое может понадобиться при работе с Docker.</p>
5 </ul><p>Как и у любого пакетного менеджера, у RubyGems есть пути, по которым можно ставить библиотеки и менять переменные окружения. Такое может понадобиться при работе с Docker.</p>
6 <p>Чтобы увидеть настройки RubyGems, нужно набрать команду gem env:</p>
6 <p>Чтобы увидеть настройки RubyGems, нужно набрать команду gem env:</p>
7 <p>Обратите внимание на<em>GEM PATHS</em>. В Ruby все гемы по умолчанию ставятся в общую директорию, а не в директорию проекта. То есть неважно откуда мы выполняем команду установки, все гемы будут лежать в одном месте. Тогда возникает вопрос, как RubyGems работает с разными версиями одной и той же библиотеки? Очень просто, имя директории гема включает в себя и версию:</p>
7 <p>Обратите внимание на<em>GEM PATHS</em>. В Ruby все гемы по умолчанию ставятся в общую директорию, а не в директорию проекта. То есть неважно откуда мы выполняем команду установки, все гемы будут лежать в одном месте. Тогда возникает вопрос, как RubyGems работает с разными версиями одной и той же библиотеки? Очень просто, имя директории гема включает в себя и версию:</p>
8 <p>Несколько примеров того, как работать с гемами:</p>
8 <p>Несколько примеров того, как работать с гемами:</p>
9 <p>RubyGems модифицирует пути загрузки, по которым инструкция require производит поиск Ruby-кода. Каждый раз когда выполняется require, RubyGems всего лишь добавляет директорию<em>lib</em>гема в этот список путей.</p>
9 <p>RubyGems модифицирует пути загрузки, по которым инструкция require производит поиск Ruby-кода. Каждый раз когда выполняется require, RubyGems всего лишь добавляет директорию<em>lib</em>гема в этот список путей.</p>
10 <p>Все это так же работает и через файлы.</p>
10 <p>Все это так же работает и через файлы.</p>
11 <p>И запуск:</p>
11 <p>И запуск:</p>
12  
12