简体   繁体   English

在 Ubuntu 上安装 mysql gem 的困难

[英]Difficulties installing mysql gem on Ubuntu

I am trying to install the mysql 2.8.1 gem.我正在尝试安装 mysql 2.8.1 gem。 I would be using it to build a Rails 2.0.2 application on Ubuntu 10.04.我将使用它在 Ubuntu 10.04 上构建 Rails 2.0.2 应用程序。 I would be using Ruby 1.8.7.我将使用 Ruby 1.8.7。 I have installed the development dependencies(other gems).我已经安装了开发依赖项(其他 gems)。 For some reasons I am unable to install it.由于某些原因,我无法安装它。 I am not able to exactly figure out how to fix it.我无法确切地弄清楚如何解决它。 Please help!!请帮忙!!

I get the following in the terminal when I try to install it:当我尝试安装它时,我在终端中得到以下信息:

mohnish@pc146724-desktop:~/Downloads$ sudo gem install mysql-2.8.1.gem 
Building native extensions.  This could take a while...
ERROR:  Error installing mysql-2.8.1.gem:
    ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/bin/ruby1.8
    --with-mysql-config
    --without-mysql-config
    --with-mysql-dir
    --without-mysql-dir
    --with-mysql-include
    --without-mysql-include=${mysql-dir}/include
    --with-mysql-lib
    --without-mysql-lib=${mysql-dir}/lib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-mlib
    --without-mlib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-zlib
    --without-zlib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-socketlib
    --without-socketlib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-nsllib
    --without-nsllib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-mygcclib
    --without-mygcclib
    --with-mysqlclientlib
    --without-mysqlclientlib


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out
mohnish@pc146724-desktop:~/Downloads$ 

Thanks for your help!!谢谢你的帮助!!

Try this and then install the mysql gem:试试这个,然后安装 mysql gem:

sudo apt-get install libmysqlclient-dev 

If that's not sufficient try it like this如果这还不够,试试这样

 sudo apt-get install libmysqlclient-dev libmysqlclient16 ruby-dev

Try this and then install the mysql gem:试试这个,然后安装 mysql gem:

sudo apt-get install libmysqlclient-dev libmysqlclient16 sudo apt-get install libmysqlclient-dev libmysqlclient16

This worked after then running sudo gem install mysql.这在运行 sudo gem install mysql 后起作用。

The documentation still doesn't install correctly (heaps of "No definition" errors, although thats not really a biggie.文档仍然没有正确安装(大量的“无定义”错误,尽管那不是什么大问题。

You should do what the error message tells you: check the mkmf.log!您应该按照错误消息告诉您的操作:检查 mkmf.log! Search for this file using find /usr/lib/ruby/gems/1.8/gems/ -name mkmf.log.使用 find /usr/lib/ruby/gems/1.8/gems/ -name mkmf.log 搜索此文件。 Usually, this error message appears because you forgot to install the -dev package for the extension you were trying to install.通常,出现此错误消息是因为您忘记为尝试安装的扩展安装 -dev 包。 So if you wanted to install the mysql gem, you probably forgot to install the libmysqlclient14-dev first.所以如果你想安装mysql gem,你可能忘记先安装libmysqlclient14-dev。 Do an apt-cache search |做一个 apt-cache 搜索 | grep dev to find the appropriate packages. grep dev 找到合适的包。

plz check this for more information请检查这个以获取更多信息

In my case, I had the following error message:就我而言,我收到以下错误消息:

An error occurred while installing mysql (2.8.1), and Bundler cannot continue.安装mysql(2.8.1)时出错,Bundler无法继续。 Make sure that gem install mysql -v '2.8.1' succeeds before bundling.在捆绑之前确保gem install mysql -v '2.8.1'成功。

I tried: gem install mysql -v '2.8.1' , and I got an error message similar to what you got.我试过: gem install mysql -v '2.8.1' ,我收到一条类似于你得到的错误消息。

I fixed it doing the following:我修复了它执行以下操作:

  • STEP (1): run this: sudo apt-get install libmysqlclient-dev步骤(1):运行这个: sudo apt-get install libmysqlclient-dev

  • STEP (2): install mysql: gem install mysql -v 2.8.1 STEP (2): 安装 mysql: gem install mysql -v 2.8.1

You should get a success message similar to this:您应该会收到与此类似的成功消息:

Successfully installed mysql-2.8.1成功安装mysql-2.8.1
Installing ri documentation for mysql-2.8.1 1 gem installed为 mysql-2.8.1 安装 ri 文档 1 gem 安装

I hope my answer helps.希望我的回答有帮助。

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

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