Подтвердить что ты не робот

Рубигемы, путаница Bundler и RVM

Я прочитал "Отношения между Rubygems, Bundler и RVM", прежде чем повторять его.

Ну, таких вопросов много, но люди, которые ответили, говорят, что работают с Rubygems, RVM и Bundler, и они не объяснили, как каждая из них работает изолированно.

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

Мое замешательство можно разбить на эти вопросы. Где камень установлен, когда:

  • У меня только Rubygems (без RVM или Bundler)?
  • Установлены Rubygems и RVM?
  • Установлены Rubygems, RVM и Bundler?

Пожалуйста, помогите мне понять этот материал либо с помощью ресурсов в Интернете, либо с помощью ваших подробных ответов.

4b9b3361

Ответ 1

  • Чтобы узнать, где установлены камни, запустите echo $GEM_HOME в терминале.
  • При использовании RVM в вашу установку RVM устанавливаются драгоценные камни, поскольку он изменяет $GEM_HOME. Выполнение echo $GEM_HOME теперь будет показывать путь к вашей установке RVM.
  • Когда Bundler добавлен в микс, драгоценные камни будут установлены либо в $GEM_HOME, либо если вы укажете путь при запуске bundle install, будет установлен на этот путь. Чтобы узнать, где драгоценный камень через Bundler, вы можете использовать bundle show gemname, чтобы получить полный путь.

Ответ 2

Используйте gem env, чтобы перечислить пути gem в каждом контексте.

Без RVM gem env сообщается о путях библиотеки системных драгоценных камней.

С RVM gem env будут сообщаться пути библиотеки библиотеки, управляемые RVM.

Bundler управляет зависимостями приложений и устанавливается в библиотеку gem в вашей среде. Если вы используете RVM + Bundler, драгоценные камни будут установлены в управляемых RVM каталогах драгоценных камней. Если вы используете его без RVM, bundler установит драгоценные камни в справочниках системных драгоценных камней.

Ответ 4

Чтобы найти путь, в котором установлен камень, выполните следующие действия:

gem which gem_name

Чтобы найти исполняемые файлы (например, html2haml), используйте:

which executable_name

Чтобы избежать ввода bundle exec html2haml, который рекомендуется командой Bundler, используйте мой rubygems-bundler gem.