Rubygems, Bundler и RVM путаница


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

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

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

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

  1. у меня просто есть Rubygems (без RVM или Bundler)?
  2. библиотек RubyGems и РВМ являются?
  3. Rubygems, RVM и Bundler установлены?

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

4 63

4 ответа:

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

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

без РВМ gem env сообщит о системных путях библиотеки gem.

С РВМ gem env сообщит о путях библиотеки gem, управляемых RVM.

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

чтобы найти путь, где установлен камень используйте:

gem which gem_name

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

which executable_name

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

Я тоже пытаюсь понять, как это работает. Блог"советы по использованию Ruby, RVM, Passenger, Rails, Bundler, ... в разработке" помог мне иметь лучший обзор.

кстати, это перевод французской статьи, французская версия лучше.