Rubygems, Bundler и RVM путаница
Я прочитал "отношения между Rubygems, Bundler и RVM", прежде чем спросить его снова.
Ну, есть много таких вопросов, но люди, которые ответили, говорят, что они работают с Rubygems, RVM и Bundler, и они не объяснили, как каждый из них работает в изоляции.
Я действительно смущен тем, как эти три работают изолированно, когда мы устанавливаем драгоценные камни. Пожалуйста, не говорите мне, как вы работаете, что поможет мне, но я не узнаю, что происходит, когда мы играем с ними.
мое замешательство можно разбить на эти вопросы. Где находится драгоценный камень установлен, когда:
- у меня просто есть Rubygems (без RVM или Bundler)? библиотек RubyGems и РВМ являются?
- Rubygems, RVM и Bundler установлены?
пожалуйста, помогите мне понять этот материал либо с ресурсами в интернете, либо с вашими подробными ответами.
4 ответа:
- чтобы узнать, где устанавливаются драгоценные камни, запустите
echo $GEM_HOMEв терминале.- при использовании RVM драгоценные камни устанавливаются в ваш RVM install по мере изменения $GEM_HOME. Работает
echo $GEM_HOMEтеперь будет показан путь к вашей установке RVM.- когда 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, ... в разработке" помог мне иметь лучший обзор.
кстати, это перевод французской статьи, французская версия лучше.