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

Где хранитель хранит драгоценные камни?

Я знаю, что при использовании gem install драгоценный камень будет храниться в /home/username/.rvm/gems/, под которым был установлен gemset, который был установлен.

Но если я использую Bundler и задаю камень в Gemfile, когда я запускаю установку пакета, где будут храниться эти драгоценные камни? И что, если я уже установил камень с помощью gem install, если я запустил установку пакета, будет ли он использовать предыдущий камень, установленный с помощью gem install?

4b9b3361

Ответ 1

Это зависит. В обычной настройке разработки они устанавливаются там, где они были бы, когда вы устанавливаете драгоценный камень "обычно" (путем запуска gem install foo), а bundler не будет переустанавливать драгоценные камни, которые уже есть. Это местоположение зависит от того, как настроены сами rubygems.

Если вы запускаете установку пакета с опцией --deployment, то драгоценные камни будут установлены в уникальном для вашего местоположения месте (вы можете передать это как отдельный параметр, но по умолчанию он относится к поставщику/пакету)

Вы также можете запустить bundle package для хранения всех файлов .gem, которые ваше приложение использует в vendor/cache. Выполнение bundle install предпочтет драгоценные камни в поставщике/кеше для драгоценных камней в других местах.

Ответ 2

Если вы хотите узнать, где хранится конкретный драгоценный камень, вы можете запустить bundle show <gem-name>. Например:

[email protected]$ bundle show rake
/var/bundle/ruby/2.1.0/gems/rake-10.4.2

Ответ 3

Здесь /usr/local/lib/ruby/gems/2.1.0/gems/ и здесь: /usr/local/lib/ruby/gems/2.1.0/bundler/gems/.