Установить гем в локальной папке
У меня ограниченные привилегии на общей машине, которую я использую, поэтому я не могу установить гемы так, как я привык. Например:
$ 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.
Можно ли установить драгоценный камень локально? (если это имеет значение, я пытаюсь установить этот драгоценный камень.)
Я видел несколько постов о переполнении стека, в которых говорилось об использовании Bundler или gemfiles, но я не устанавливаю этот гем для проекта Ruby on Rails - я просто хочу использовать его отдельно.
Я использую Linux, но не знаю, какой именно.
3 ответа
Добавить --local
пометить к вашей установке:
gem install --local request-log-analyzer
Если это вызывает какие-либо проблемы, попробуйте загрузить драгоценный камень вручную и указать gem
непосредственно к нему, используя:
gem install --local path/to/gem/filename.gem
Если вы хотите установить его у себя дома, в соответствии с rubygems:
Когда вы используете опцию --user-install, RubyGems установит гемы в каталог внутри вашего домашнего каталога, что-то вроде ~/.gem/ruby /1.9.1. Команды, предоставленные установленными вами камнями, в конечном итоге окажутся в ~/.gem/ruby /1.9.1/bin. Чтобы установленные там программы были доступны для вас, вам нужно добавить ~/.gem/ruby /1.9.1/bin в переменную окружения PATH.
Команда для этого будет просто
gem install --user-install request-log-analyzer
Вы можете просто использовать RVM: Ruby Version Manager. Это полный менеджер версий, аналогичный диспетчеру версий узлов (nvm) и т. Д., Который позволяет вам иметь разные версии ruby и разные коллекции гемов для каждого проекта. Это делает работу по сохранению гемов изолированными друг от друга, а также от системного рубина, но за счет изучения полного менеджера версий.
При запуске без рута он устанавливается локально в ~/.rvm и не влияет на других пользователей.