Как я использую драгоценные камни с Ubuntu?

В моем случае аналогичная ошибка произошла, потому что в файлах AndroidManifest.xml было 2 модуля с одинаковым именем пакета. Использование разных имен пакетов в модулях решило проблему.

Также то же самое происходит, когда библиотека jar включается дважды (или более раз) в несколько модулей, как зависимость. В этом случае сообщение об ошибке говорит о дубликатах конфигурации, названных в честь имени пакета этой библиотеки. Я решил это с включением библиотеки в качестве зависимости в один модуль, а второй модуль имел в зависимостях первый модуль.

76
задан the Tin Man 4 February 2012 в 00:52
поделиться

3 ответа

Где мои драгоценные камни?

Вы можете узнать, где хранятся ваши драгоценные камни, с помощью команды gem environment . Например:

chris@chris-laptop:~$ gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.2

  - RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [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/chris/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:

Если вы посмотрите на раздел «ПУТИ GEM:», вы увидите, что драгоценные камни можно хранить в двух местах на моем ноутбуке: /usr/lib/ruby/gems/1.8 или в каталог .gem в моем домашнем каталоге.

Вы также можете видеть, что исполняемые файлы хранятся в EXECUTABLE DIRECTORY, которым в данном случае является / usr / bin .

Потому что / usr / bin находится на моем пути, это позволяет мне запускать cap , merb , rails и т. Д.

Обновление вашего PATH

Если по какой-то причине ваш ИСПОЛНИТЕЛЬНЫЙ КАТАЛОГ отсутствует на вашем пути (например, если это /var/lib/gems/1.8/bin), вам необходимо обновить переменную PATH.

Предполагается, что вы используете оболочку bash. Вы можете сделать это быстро для текущего сеанса, набрав в командной строке следующее: представим, что вы хотите добавить /var/lib/gems/1.8/bin к пути:

export PATH=$PATH:/var/lib/gems/1.8/bin

, и нажмите return. Это добавит новый каталог в конец текущего пути. Обратите внимание на двоеточие между $ PATH и /var/lib/gems/1.8/bin

. Чтобы установить значение для всех сеансов, вам нужно будет отредактировать свой .profile ] или .bashrc и добавьте ту же строку в конец файла. Обычно я редактирую свой файл .bashrc только по той причине, что я всегда делал. По завершении сохраните файл, а затем обновите среду, набрав:

bash

в приглашении оболочки. Это приведет к повторному чтению .bashrc .

В любой момент вы можете проверить текущее значение $ PATH , набрав

echo $PATH

в приглашении оболочки.

Вот пример с одного из моих серверов, где мое имя пользователя - chris, а имя машины - chris-laptop:

chris@chris-laptop:~$ 
chris@chris-laptop:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
chris@chris-laptop:~$ 
chris@chris-laptop:~$ export PATH=$PATH:/var/lib/gems/1.8/bin
chris@chris-laptop:~$ 
chris@chris-laptop:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/var/lib/gems/1.8/bin
chris@chris-laptop:~$ 

My Gem не загружается!

" Ruby gems не загружается, даже если установлен "указывает на общую проблему с использованием нескольких разных версий Ruby; Иногда среда Gem и путь к Gem не синхронизируются:

rb(main):003:0> Gem.path

=> ["/opt/ruby1.9/lib/ruby1.9/gems/1.9.1"]
irb(main):004:0> exit

Любой процесс Ruby здесь ищет свои Gem только в одном месте.

:~/$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.9.1 (2009-05-12 patchlevel 129) [x86_64-linux]
  - INSTALLATION DIRECTORY: /opt/ruby1.9/lib/ruby/gems/1.9.1
  - RUBY EXECUTABLE: /opt/ruby1.9/bin/ruby1.9
  - EXECUTABLE DIRECTORY: /opt/ruby1.9/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /opt/ruby1.9/lib/ruby/gems/1.9.1
     - /home/mark/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

Внимательно посмотрите на вывод окружения gem:

  - GEM PATHS:
     - /opt/ruby1.9/lib/ruby/gems/1.9.1

Это не тот путь, который возвращается Gem.path:

["/opt/ruby1.9/lib/ruby1.9/gems/1.9.1"]

Трудно сказать, что именно привело к изменению lib / ruby ​​ к lib / ruby1. 9 , но, скорее всего, разработчик работал с несколькими версиями Ruby. Быстрый mv или ln решит проблему.

Если вам действительно нужно работать с несколькими версиями Ruby, тогда вам действительно стоит использовать rvm .

138
ответ дан 24 November 2019 в 11:16
поделиться

Похоже, что при установке rubygems теперь в ubuntu 9.04 у меня возникает эта проблема. Я заметил, что в "среде gem" исполняемый каталог - "/var/lib/gems/1.8/bin" вместо "/ usr / bin" ... Это проблема с rubygems или ubuntu 9.04 ??

Решение, с которым я столкнулся, - добавить "/var/lib/gems/1.8/bin" в мой $ PATH, выполнив следующее: экспорт PATH = $ PATH: /var/lib/gems/1.8/bin Но он не сохраняется ... как я могу сохранить свой путь?

Спасибо ...

Resolvi: coloquei o export PATH = $ PATH: /var/lib/gems/1.8/bin no ~ / .bashrc! =]

1
ответ дан 24 November 2019 в 11:16
поделиться

Папка, в которой хранятся драгоценные камни , должна находиться в вашем ПУТЬ, например моя:

/home/victor/.gem/ruby/1.8/bin

Проверьте свой путь, набрав

echo $PATH
3
ответ дан 24 November 2019 в 11:16
поделиться