특정 버전의 Ruby가 포함된 .deb
패키지( )가 있고 ruby-2.1.2_amd64.deb
이를 사용하여 설치하려고 dpkg
하면 다음 오류가 발생합니다.
$ sudo dpkg -i /tmp/chef-solo/ruby-2.1.2_amd64.deb
dpkg: regarding .../chef-solo/ruby-2.1.2_amd64.deb containing ruby:
ruby1.9.1 conflicts with ruby (<= 4.5)
ruby (version 2.1.2) is to be installed.
dpkg: error processing /tmp/chef-solo/ruby-2.1.2_amd64.deb (--install):
conflicting packages - not installing ruby
Errors were encountered while processing:
/tmp/chef-solo/ruby-2.1.2_amd64.deb
메시지에 따르면 이전 버전의 Ruby가 시스템에 이미 존재하기 때문에 dpkg가 패키지 설치를 거부하는 것 같습니다. 알겠습니다. 이전 버전을 제거한 다음...
$ sudo dpkg -r ruby1.9.1
dpkg: dependency problems prevent removal of ruby1.9.1:
libaugeas-ruby1.9.1 depends on ruby1.9.1.
facter depends on ruby | ruby-interpreter; however:
Package ruby is not installed.
Package ruby1.8 which provides ruby is not installed.
Package ruby-interpreter is not installed.
Package ruby1.8 which provides ruby-interpreter is not installed.
Package ruby1.9.1 which provides ruby-interpreter is to be removed.
puppet-common depends on ruby | ruby-interpreter; however:
Package ruby is not installed.
Package ruby1.8 which provides ruby is not installed.
Package ruby-interpreter is not installed.
Package ruby1.8 which provides ruby-interpreter is not installed.
Package ruby1.9.1 which provides ruby-interpreter is to be removed.
ruby-json depends on ruby | ruby-interpreter; however:
Package ruby is not installed.
Package ruby1.8 which provides ruby is not installed.
Package ruby-interpreter is not installed.
Package ruby1.8 which provides ruby-interpreter is not installed.
Package ruby1.9.1 which provides ruby-interpreter is to be removed.
puppet depends on ruby | ruby-interpreter; however:
Package ruby is not installed.
Package ruby1.8 which provides ruby is not installed.
Package ruby-interpreter is not installed.
Package ruby1.8 which provides ruby-interpreter is not installed.
Package ruby1.9.1 which provides ruby-interpreter is to be removed.
hiera depends on ruby | ruby-interpreter; however:
Package ruby is not installed.
Package ruby1.8 which provides ruby is not installed.
Package ruby-interpreter is not installed.
Package ruby1.8 which provides ruby-interpreter is not installed.
Package ruby1.9.1 which provides ruby-interpreter is to be removed.
dpkg: error processing ruby1.9.1 (--remove):
dependency problems - not removing
Errors were encountered while processing:
ruby1.9.1
와, 정말 엉망이네요. 하지만 완전히 해결 가능한 것 같습니다. 이 패키지는 모두 제공된 패키지에 만족할 것이라고 말하는 것 같습니다 ruby
. 그리고 제가 설치하려는 패키지는 이를 제공합니다.
그러나 나는 캐치 22에 갇힌 것 같습니다. 이 이전 버전을 처음으로 제거할 때까지 원하는 패키지를 설치할 수 없고, 새 버전이 아직 설치되지 않았기 때문에 이전 버전을 제거할 수 없습니다.
이 문제를 어떻게 해결할 수 있나요?
저는 dpkg 1.16.1.2와 함께 Ubuntu 12.04 LTS를 실행하고 있습니다.
답변1
이것을 시도하십시오:
sudo dpkg -r --force-depends ruby1.9.1
그런 다음 apt를 통해 무엇이든 설치하기 전에 ruby-2.1.2를 설치하십시오.