Как изменить путь установки гемов ruby ​​в OS 10.6.6 Ruby 1.8 и Rails 3 - PullRequest
2 голосов
/ 06 февраля 2011

Использую ли я gem install или bundle install для своих драгоценных камней, они не работают. Иногда sudo gem install заставляет работать драгоценные камни. Я выполнил команды gem list -d и which gem, и похоже, что моя система настроена так, что все гемы устанавливаются в "/Library/Ruby/Gems/1.8", но моя среда ожидает их в "/ usr / bin / драгоценный камень». Как я мог правильно исправить это? У меня сложилось впечатление, что «bundle» должен быть в состоянии установить локальную, специфичную для приложения копию гема?

Ответы [ 2 ]

12 голосов
/ 05 марта 2013

Хотя многие Rubyists рекомендуют вам RVM или RBENV, я им не пользуюсь.Это ОЧЕНЬ медленно и загрязняет вашу среду.

Если вы используете Bundler, вам совсем не нужен RVM - сам rubygem поддерживает несколько версий отдельных гемов.Таким образом, вы можете просто начать использовать gems (например, установить gem и т. Д.), И он будет установлен в ваш каталог $ HOME / .gem по умолчанию.Вы можете проверить путь установки, используя:

$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.25
  - RUBY VERSION: 1.9.3 (2013-02-06 patchlevel 385) [x86_64-linux]
  - INSTALLATION DIRECTORY: /home/lzap/.gem/ruby/1.9.3
  - RUBY EXECUTABLE: /usr/bin/ruby
  - EXECUTABLE DIRECTORY: /home/lzap/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /home/lzap/.gem/ruby/1.9.3
     - /usr/share/gems
     - /usr/local/share/gems
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "install" => "--no-rdoc --no-ri"
  - REMOTE SOURCES:
     - http://rubygems.org/

Вы даже можете изменить это с помощью переменной среды GEM_HOME.Счастливого драгоценного камня!

4 голосов
/ 06 февраля 2011

Я бы предложил использовать RVM (Ruby Version Manager) для управления тем, в какую версию Ruby вы устанавливаете свои гемы. Это также поможет сохранить все данные комплектов и гемов в папке в вашем домашнем каталоге.

...