В моем случае аналогичная ошибка произошла, потому что в файлах AndroidManifest.xml было 2 модуля с одинаковым именем пакета. Использование разных имен пакетов в модулях решило проблему.
Также то же самое происходит, когда библиотека jar включается дважды (или более раз) в несколько модулей, как зависимость. В этом случае сообщение об ошибке говорит о дубликатах конфигурации, названных в честь имени пакета этой библиотеки. Я решил это с включением библиотеки в качестве зависимости в один модуль, а второй модуль имел в зависимостях первый модуль.
Вы можете узнать, где хранятся ваши драгоценные камни, с помощью команды 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
и т. Д.
Если по какой-то причине ваш ИСПОЛНИТЕЛЬНЫЙ КАТАЛОГ отсутствует на вашем пути (например, если это /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:~$
" 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 .
Похоже, что при установке 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! =]
Папка, в которой хранятся драгоценные камни , должна находиться в вашем ПУТЬ, например моя:
/home/victor/.gem/ruby/1.8/bin
Проверьте свой путь, набрав
echo $PATH