Как установить загруженный файл Ruby gem?
Как работает "gem install"? Это не интуитивно...
Мой драгоценный камень действительно здесь:
[[email protected] Téléchargement]# ll *.gem
-rw-rw-r-- 1 jean jean 16353818 mar 5 11:39 ruby-processing-1.0.9.gem
Но идиоматическая "установка gem" не видит его...
[[email protected] Téléchargement]# gem install ruby-processing-1.0.9.gem
ERROR: could not find gem ruby-processing-1.0.9.gem locally or in a repository
Что не так с этим?
Ответы
Ответ 1
Возможно, я не полностью понял вопрос. Но если вы просто хотите установить драгоценный камень, который у вас есть на вашем локальном компьютере, все, что вам нужно сделать с консоли, - войти в каталог, содержащий ваш драгоценный камень, и gem install --local your.gem
.
Ответ 2
Еще несколько разъяснений, если вам нужно создать/установить собственный файл gem в этом примере foo-bar.
gem build foo-bar.gemspec
gem install --local foo-bar-0.1.0.gem
Я изучал, как это сделать, и этот пост был первым результатом:)
Ответ 3
Проблема в том, что gem install ищет драгоценные камни для установки в своем каталоге по умолчанию. Вы можете узнать, где это работает:
$ gem environment
Это даст вам что-то вроде:
> RubyGems Environment:
> - RUBYGEMS VERSION: 1.3.6
> - RUBY VERSION: 1.8.6 (2007-09-24 patchlevel 111) [i486-linux]
> - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
> - RUBY EXECUTABLE: /usr/bin/ruby1.8
> - EXECUTABLE DIRECTORY: /usr/bin
> - RUBYGEMS PLATFORMS:
> - ruby
> - x86-linux
> - GEM PATHS:
> - /usr/lib/ruby/gems/1.8
> - /home/adminuser/.gem/ruby/1.8
Местоположение GEM PATHS - это место, где установка gem ожидает найти драгоценные камни для установки. Таким образом, решением вашей проблемы будет копирование драгоценного камня из его текущего местоположения в ожидаемый каталог, т.е.
$ cp my.gem /home/adminuser/.gem/ruby/1.8/
Если вы запустите gem install, он заберет ваш драгоценный камень и установит его. Убедитесь, что вы запустили команду копирования в качестве суперпользователя (sudo, если вы используете Ubuntu, как я)
PS Если при запуске среды $gem вы получаете "undefined метод" manage_gems для ошибки Gem: Module (NoMethodError) ", затем отредактируйте /usr/bin/gem и убедитесь, что что первые три строки файла выглядят следующим образом:
- требуется "rubygems"
- require 'rubygems/gem_runner'
-
Gem.manage_gems