繁体   English   中英

mysql2 gem安装因依赖关系未满足而失败:libmysqlclient-dev

[英]mysql2 gem install fails with unmet dependencies: libmysqlclient-dev

在askubuntu论坛上遇到与此海报类似的问题。 我现在已经开始进行干净的Ubuntu 14.04安装几次,无论我做什么,都会收到同样的错误。

The following packages have unmet dependencies:
 libmysqlclient-dev : Depends: libmysqlclient18 (= 5.5.46-0ubuntu0.14.04.2) but 10.0.23+maria-1~trusty is to be installed
E: Unable to correct problems, you have held broken packages.

重现错误:

  1. 遵循MariaDB网站 10.0版上的说明。 在之前的尝试中,我也尝试了10.1。

  2. 我在服务器上安装了Rails(4.2.5)上的Ruby(2.2.3)。 设置我的应用程序,配置Gemfilebundle install

     An error occurred while installing mysql2 (0.4.2), and Bundler cannot continue. Make sure that `gem install mysql2 -v '0.4.2'` succeeds before bundling. 
  3. 然后我gem install mysql2 -v '0.4.2'并得到以下内容:

     mysql client is missing. You may need to 'apt-get install libmysqlclient-dev' or 'yum install mysql-devel', and try again. 
  4. 所以我apt-get install libmysqlclient-dev并得到错误Unable to correct problems, you have held broken packages如本文第一部分所示。

资讯:

apt-cache policy libmysqlclient18 & 

 libmysqlclient18:
  Installed: 10.0.23+maria-1~trusty
  Candidate: 10.0.23+maria-1~trusty
  Version table:
 *** 10.0.23+maria-1~trusty 0
        500 http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.0/ubuntu/ trusty/main amd64 Packages
        100 /var/lib/dpkg/status
     5.5.46-0ubuntu0.14.04.2 0
        500 http://mirrors.digitalocean.com/ubuntu/ trusty-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
     5.5.35+dfsg-1ubuntu1 0
        500 http://mirrors.digitalocean.com/ubuntu/ trusty/main amd64 Packages

我缺少哪一步将使捆绑包安装不会遇到mysql2 gem的问题(仍然使用MariaDB)? mysql -uroot -p在终端上可以正常工作。

purge所有与mysql相关的软件包

sudo apt-get remove --purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get update

现在,您有了一个干净的系统。 尝试再次安装mariadb

sudo apt-get install mariadb-server libmariadbclient-dev mariadb-client mysql-common  libmysqlclient18 libmariadbd-dev

只需确保要安装的软件包版本与此页面上的版本相同即可: http : //ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/10.0/ubuntu/pool/ main / m / mariadb-10.0 /

否则,它将从Ubuntu的官方仓库中安装Mysql软件包,这将导致冲突。如果发生这种情况,则应按照此页面上的更高优先级设置maria db仓库: https//askubuntu.com/questions/293619/assign-更高的ppa优先级

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM