Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 安装mysql gem时出错_Ruby On Rails_Linux - Fatal编程技术网

Ruby on rails 安装mysql gem时出错

Ruby on rails 安装mysql gem时出错,ruby-on-rails,linux,Ruby On Rails,Linux,我正在使用linux机器。我成功地安装了ruby,并使用sqlite数据库创建了一个简单的应用程序。它也工作得很好。现在我尝试用mysql创建一个应用程序,当我安装mysql gem时,它显示以下错误 [bathakarai@Project1-CO Rails]$ gem install mysql /home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/bin/gem:4: warning: Insecure world writable dir /home/

我正在使用linux机器。我成功地安装了ruby,并使用sqlite数据库创建了一个简单的应用程序。它也工作得很好。现在我尝试用mysql创建一个应用程序,当我安装mysql gem时,它显示以下错误

[bathakarai@Project1-CO Rails]$ gem install mysql
/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/bin/gem:4: warning: Insecure world writable dir /home/bathakarai in PATH, mode 040777
Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

        /home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/bin/ruby extconf.rb
extconf.rb:12: warning: Insecure world writable dir /home/bathakarai in PATH, mode 040777
checking for mysql_ssl_set()... *** 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
    --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=/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/bin/ruby
    --with-mysql-config
    --without-mysql-config
/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:435:in `try_link0'
    from /home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:440:in `try_link'
    from /home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:552:in `try_func'
    from /home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:797:in `block in have_func'
    from /home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
    from /home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'
    from /home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
    from /home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
    from /home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
    from /home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:796:in `have_func'
    from extconf.rb:45:in `<main>'


Gem files will remain installed in /home/bathakarai/.rvm/gems/ruby-1.9.2-p320/gems/mysql-2.9.1 for inspection.
Results logged to /home/bathakarai/.rvm/gems/ruby-1.9.2-p320/gems/mysql-2.9.1/ext/mysql_api/gem_make.out
[bathakarai@Project1-CO-Rails]$gem安装mysql
/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/bin/gem:4:警告:路径中的世界可写目录/home/bathakarai不安全,模式040777
构建本机扩展。这可能需要一段时间。。。
错误:安装mysql时出错:
错误:无法生成gem本机扩展。
/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/bin/ruby extconf.rb
extconf.rb:12:警告:路径中的不安全世界可写目录/home/bathakarai,模式040777
正在检查mysql_ssl_set()…***extconf.rb失败***
由于某些原因无法创建Makefile,可能是缺少
必要的库和/或标题。查看mkmf.log文件了解更多信息
细节。您可能需要配置选项。
提供的配置选项:
--使用opt dir
--选择包含
--不带opt include=${opt dir}/include
--使用opt lib
--不带opt lib=${opt dir}/lib
--用make prog
--没有make prog
--srcdir=。
--库尔迪尔
--ruby=/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/bin/ruby
--使用mysql配置
--没有mysql配置
/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:368:在“try_do”中:编译器未能生成可执行文件。(运行时错误)
您必须首先安装开发工具。
from/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:435:in'try_link0'
from/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:440:in'try_link'
from/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:552:in'try_func'
from/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:797:in'block in have_func'
from/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:693:in“块入检查”
from/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:280:in `区块(2层)中的延迟'
from/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:254:in'open'
from/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:280:in“推迟中的块”
from/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:254:in'open'
from/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:276:in“推迟”
from/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:692:in'checking_'
from/home/bathakarai/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:796:in'have_func'
从extconf.rb:45:in`'
Gem文件仍将安装在/home/bathakarai/.rvm/gems/ruby-1.9.2-p320/gems/mysql-2.9.1中以供检查。
结果记录到/home/bathakarai/.rvm/gems/ruby-1.9.2-p320/gems/mysql-2.9.1/ext/mysql\u api/gem\u make.out

请帮我找出问题所在,试试这个。希望它对你有用

首先安装libmysql-ruby

sudo apt-get install libmysql-ruby
然后使用安装libmysqlclient-dev

sudo apt-get install libmysqlclient-dev
完成上述步骤后,使用安装mysql

sudo gem install mysql

警告:路径中存在不安全的世界可写目录/usr/local/mysql,模式040777

解决办法是简单的一句话,我每次都会忘记

sudo chmod o+w /usr/local/mysql/bin

这是因为本地的一些开发依赖项不可用

安装以下组件:

sudo apt-get install mysql-dev
然后使用安装mysqlgem

gem install mysql
请键入:

gem install mysql2 --no-rdoc --no-ri

安装一些mysql2依赖项

sudo apt-get install libmysql-ruby libmysqlclient-dev
插入到您的文件中

gem 'mysql2', '~> 0.3.18'
然后捆绑安装

bundle install

你是否安装了mysql,mysql dev?我的机器中已经安装了mysql,但没有安装mysql。看看:我想这会解决你的问题。我的问题没有解决。获得了相同的linux环境我厌倦了“yum安装libmysql-ruby”,它显示“没有可用的libmysql包”。message您是否尝试过此
sudo-apt-get安装libmysql-ruby
。它适用于Linux环境,您不必安装libmysql ruby。我在Ubuntu14.04服务器上试过这个,我使用了“yum安装mysql-dev”。它显示“没有可用的mysql开发包”消息。(我使用的是linux机器)您使用的是哪种linux?Ubuntu或其他任何东西?你能试试这个
sudo yum-y安装gcc-mysql-devel
,然后
gem安装mysql
。你能详细说明你的答案吗?再加上一点关于你提供的解决方案的描述?