Rails - mysql2安装错误

5 浏览
0 Comments

Rails - mysql2安装错误

我最近在我的当前系统中安装了rvm,以便在Rails3.x版本中使用Rails5。当我尝试创建新的Rails5应用程序时,出现了以下错误:在任何源中找不到合适版本的railties(3.2.13)。运行`bundle install`以安装缺失的gems。当我尝试运行bundle install时,遇到了困难:

gem install mysql2 -v '0.3.11'
正在构建本机扩展,可能需要一段时间...
/home/himanth/.rvm/rubies/ruby-2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/ext/builder.rb:73: 警告:在PATH中存在不安全的可写目录/home/himanth/.rvm/gems,模式为040777
错误:安装mysql2失败:
错误:无法构建本机扩展。
/home/himanth/.rvm/rubies/ruby-2.3.1/bin/ruby extconf.rb
正在检查rb_thread_blocking_region()... no
正在检查rb_wait_for_single_fd()... yes
正在检查mysql.h... yes
正在检查errmsg.h... yes
正在检查mysqld_error.h... yes
正在创建Makefile
make "DESTDIR=" clean
make "DESTDIR="
正在编译mysql2_ext.c
从./client.h:11:0导入,
从./mysql2_ext.h:39导入,
从mysql2_ext.c:1导入:
/home/himanth/.rvm/rubies/ruby-2.3.1/include/ruby-2.3.0/ruby/backward/rubysig.h:14:2: 警告:#warning rubysig.h已过时[-Wcpp]
从./mysql2_ext.h:39导入,
从mysql2_ext.c:1导入:
./client.h: 在函数'rb_thread_blocking_region'中:
./client.h:23:3: 错误:'TRAP_BEG'未声明(在此函数中首次使用)
./client.h:23:3: 注意:每个未声明的标识符仅报告一次,只出现在每个函数中
./client.h:25:3: 错误:'TRAP_END'未声明(在此函数中首次使用)
在顶层mysql2_ext.c:
./client.h:16:1: 警告:'rb_thread_blocking_region'已定义但未使用[-Wunused-function]
make: *** [mysql2_ext.o] 错误 1
make失败,退出代码2
Gem文件将保留在/home/himanth/.rvm/gems/ruby-2.3.1@rails5/gems/mysql2-0.3.11中以供检查。
结果记录在/home/himanth/.rvm/gems/ruby-2.3.1@rails5/extensions/x86_64-linux/2.3.0/mysql2-0.3.11/gem_make.out中
在继续bundling之前,请确保`gem install mysql2 -v '0.3.11'`成功。

我被这个问题困扰了很长时间,非常感谢任何帮助。

0
0 Comments

Rails - mysql2安装错误的原因可能是缺少必要的依赖项。解决方法是按照以下步骤进行操作:

首先,尝试使用以下命令安装Rails:

gem install rails

然后,安装mysql server:

sudo apt-get install mysql-client libmysqlclient-dev

最后,运行以下命令进行bundle安装:

bundle install

0
0 Comments

Rails - mysql2 安装错误的原因是缺少必要的依赖项,解决方法是安装相关的依赖项。

对于Ubuntu系统,可以在终端中执行以下命令:

sudo apt-get install mysql-client libmysqlclient-dev
sudo gem install mysql2

对于Mac系统,可以在终端中执行以下命令:

brew install mysql
sudo gem install mysql2

0