Как установить загруженный файл драгоценного камня Ruby?

Как "драгоценный камень устанавливает" работы? Это не интуитивно...

Мой драгоценный камень действительно здесь:

[root@localhost Téléchargement]# ll *.gem
-rw-rw-r-- 1 jean jean 16353818 mar  5 11:39 ruby-processing-1.0.9.gem

Но идиоматическая "установка драгоценного камня" не видит его...

[root@localhost 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

Что случилось с этим?

41
задан meagar 8 February 2012 в 18:18
поделиться

1 ответ

Проблема в том, что 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 install ожидает найти драгоценные камни для установки . Итак, решением вашей проблемы было бы скопировать драгоценный камень из его текущего местоположения в ожидаемый каталог, то есть

$ cp my.gem /home/adminuser/.gem/ruby/1.8/

. Если вы затем запустите gem install , он подберет ваш драгоценный камень и установит его. Убедитесь, что вы запускаете команду копирования от имени суперпользователя (sudo, если вы используете Ubuntu, как я)

PS Если при запуске $ gem environment вы получите «неопределенный метод» manage_gems 'for Gem: Module (NoMethodError) ", затем отредактируйте / usr / bin / gem и убедитесь, что первые три строки файла выглядят следующим образом:

  1. require' rubygems '
  2. require 'rubygems / gem_runner'
  3. Gem.manage_gems

12
ответ дан 27 November 2019 в 00:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: