perl-DBD-mysqlのインストールエラー

perl-DBD-mysqlのインストールエラー

CentOS 6.3システムにperl-DBD-MySQLをインストールしようとすると、次のエラーが発生します。

yum install perl-DBD-MySQL.x86_64

Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package perl-DBD-MySQL.x86_64 0:4.013-3.el6 will be installed
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Finished Dependency Resolution
Error: Package: perl-DBD-MySQL-4.013-3.el6.x86_64 (base)
           Requires: libmysqlclient.so.16()(64bit)
Error: Package: perl-DBD-MySQL-4.013-3.el6.x86_64 (base)
           Requires: libmysqlclient.so.16(libmysqlclient_16)(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

使用--skip-broken:

Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package perl-DBD-MySQL.x86_64 0:4.013-3.el6 will be installed
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Finished Dependency Resolution

Packages skipped because of dependency problems:
    perl-DBD-MySQL-4.013-3.el6.x86_64 from base

どのパッケージをインストールする必要がありますか?

答え1

インストールされているパッケージで何かが「必要です」と文句を言う場合は、このコマンドを使用してこのファイルを提供するRPMパッケージを確認する必要があります。あなたの場合、メッセージは次のとおりです。

       Requires: libmysqlclient.so.16()(64bit)

ヒントになるはずです。もちろん少し弱いですが、この情報を使用すると、次のコマンドを実行して.soこのライブラリファイルを含むパッケージを確認できます。

$ yum provides "*libmysqlclient.so.16*"

これにより、次の情報が提供されます。

mysql-libs-5.1.69-1.el6_4.x86_64 : The shared libraries required for MySQL clients
Repo        : installed
Matched from:
Other       : libmysqlclient.so.16()(64bit)
Other       : libmysqlclient.so.16(libmysqlclient_16)(64bit)
Filename    : /usr/lib64/mysql/libmysqlclient.so.16.0.0
Filename    : /usr/lib64/mysql/libmysqlclient.so.16

メモ:yumリポジトリ内のパッケージの各バージョンに対して1つずつ複数のヒットを取得できます。

これで、どのパッケージがファイルを提供しているかがわかりますmysql-libs。したがって、インストールするには:

$ sudo yum install mysql-libs

パッケージはデフォルトのインストールの一部であるように見え、CentOS 6.4のアップデートリポジトリにあります。

$ repoquery --location mysql-libs
http://mirrors.advancedhosters.com/centos/6.4/updates/x86_64/Packages/mysql-libs-5.1.69-1.el6_4.i686.rpm
http://mirrors.advancedhosters.com/centos/6.4/updates/x86_64/Packages/mysql-libs-5.1.69-1.el6_4.x86_64.rpm

答え2

CentOSあなたの質問によると、どのバージョンを使用しているかわかりません。MySQLその場合は、MariaDB使用しているデータベースパッケージで動作するソリューションを提供しCentOS 7ますMariaDB

MariaDBエンジンを設置しました。https://downloads.mariadb.org/mariadb/repositories/#mirror=kisiek&distro=CentOS&distro_release=centos7-amd64--centos7&version=10.1私の依存関係の問題は消えた。

他のプラットフォームでは同様の問題がある可能性があるため、次のOSを選択してみてください。https://downloads.mariadb.org/mariadb/repositories/#mirror=kisiekMariaDB公式リポジトリからインストールした後は、追加の作業は必要ありません。

ただし、この質問はあなたのケースに正確な答えを提供するほど詳細ではありません。私の答えはあなたに役立つかもしれませんし、そうでないかもしれません。

答え3

次のコマンドを使用して問題を解決できます。

yum install perl-DBD-MySQL --enablerepo=*

関連情報