Установка gem в локальной папке
У меня есть ограниченные права на общей машине, которую я использую, поэтому я не могу установить gems так, как я привык. Например:
$ gem install request-log-analyzer
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /usr/lib/ruby/gems/1.8 directory.
Можно ли установить жемчужину локально? (если это имеет значение, я пытаюсь установить этот камень.)
Я видел несколько сообщений в Stack Overflow, которые говорили об использовании Bundler или gemfiles, но я не устанавливаю этот камень для проекта Ruby on Rails - я просто хочу использовать его изолированно.
Я запускаю Linux, но не уверен, какой вкус.
Ответы
Ответ 1
Добавьте флаг --local
в свою установку:
gem install --local request-log-analyzer
Если это вызывает какие-либо проблемы, попробуйте вручную загрузить драгоценный камень и нарисуйте gem
напрямую, используя:
gem install --local path/to/gem/filename.gem
Если вы хотите установить его в свой домашний дом, rubygems:
Когда вы используете опцию -user-install, RubyGems установит драгоценные камни в каталог внутри вашего домашнего каталога, что-то вроде ~/.gem/рубин/1.9.1. Команды, предоставленные установленными вами драгоценными камнями закончится в ~/.gem/ruby /1.9.1/bin. Для установленных там программ чтобы быть доступным для вас, вам нужно добавить ~/.gem/ruby /1.9.1/bin в свой PATH.
Команда для этого будет
gem install --user-install request-log-analyzer
Ответ 2
Ты можешь попробовать:
gem install --user-install gem_name
Ответ 3
Вы можете просто использовать RVM: Ruby Version Manager. Это полный менеджер версий в соответствии с node менеджером версий (nvm) и другими, поскольку он позволяет вам иметь разные версии ruby и различные коллекции драгоценных камней для каждого проекта. Он выполняет задачу изолирования драгоценных камней друг от друга, а также от рубинов системы, но за счет обучения полного менеджера версий.
При запуске без root он устанавливается локально в ~/.rvm и не влияет на других пользователей.