Я выполняю команду для установки всех о рубине: sudo apt-get install ruby-*
.But это показывает невстреченные зависимости / поврежденные пакеты.
Посмотрите терминал ScreenShot здесь
Теперь скажите мне, как установить все пакеты, кто встретил (удовлетворенные) зависимости.
Когда Вы пытаетесь установить использование ruby-*
, это regex будет расширено для включения всех пакетов, запускающихся с имени ruby
. Но это только успешно выполнится если все пакеты, запускающиеся с ruby
не конфликтуйте друг друга, или может остаться вместе счастливо.
Проблема, некоторые пакеты с именем, запускающимся с ruby
может конфликтовать с некоторыми другими пакетами, подобранными regex. Например, когда я выполняю ту команду в своей системе (Ubuntu 16.04), один из конфликтов был -
ruby-celluloid-fsm : Breaks: ruby-celluloid (< 0.17~) but 0.16.0-4 is to be installed
Здесь ruby-celluloid-fsm
конфликт с ruby-celluoid
. Я думал, что один из них старше, чем другой, и более новый заменяет более старый и не может остаться вместе. Действительно это имело место, когда я сверился apt-cache depends ruby-celluloid-fsm
команда. Вот вывод
→ apt-cache depends ruby-celluloid-fsm
ruby-celluloid-fsm
Depends: bundler
|Depends: ruby
Depends: <ruby-interpreter>
ruby2.0:i386
ruby2.0
ruby2.1
ruby2.2
jruby
ruby1.9.1
Depends: ruby-dotenv
Depends: ruby-nenv
Depends: ruby-rspec-logsplit
Depends: ruby-timers
Breaks: ruby-celluloid
Replaces: ruby-celluloid
Можно ясно видеть, что пакет конфликтует с ruby-celluoid
, обозначенный Breaks:
и Replaces:
строка.
Так, ничего не устанавливайте с *
шаблон regex, это может перестать работать существенно. Необходимо только установить пакеты, в чем Вы нуждаетесь. Помните, Не, все пакеты в официальном repo могут быть установлены в системе вместе.