
特定のバージョンの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をインストールしなさい。