Почему я не могу установить все пакеты, запускающиеся с 'рубина -*' шаблон?

Я выполняю команду для установки всех о рубине: sudo apt-get install ruby-* .But это показывает невстреченные зависимости / поврежденные пакеты.

Посмотрите терминал ScreenShot здесь

Теперь скажите мне, как установить все пакеты, кто встретил (удовлетворенные) зависимости.

0
задан 13 October 2016 в 11:32

1 ответ

Когда Вы пытаетесь установить использование 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 могут быть установлены в системе вместе.

6
ответ дан 28 September 2019 в 10:10

Другие вопросы по тегам:

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