spa*_*key 472 ruby mysql rubygems ruby-on-rails mysql2
我在尝试mysql2
为Rails 安装gem 时遇到了一些问题.当我尝试通过运行安装它bundle install
或gem install mysql2
它给我以下错误:
安装mysql2时出错:错误:无法构建gem原生扩展.
我该如何修复并成功安装mysql2
?
spa*_*key 901
在Ubuntu/Debian和其他使用aptitude的发行版上:
sudo apt-get install libmysql-ruby libmysqlclient-dev
Run Code Online (Sandbox Code Playgroud)
包libmysql-ruby
已被淘汰并取而代之ruby-mysql
.这是我找到解决方案的地方.
如果由于libmysql-ruby
找不到上述命令不起作用,则以下命令就足够了:
sudo apt-get install libmysqlclient-dev
Run Code Online (Sandbox Code Playgroud)
在Red Hat/CentOS和其他使用yum的发行版上:
sudo yum install mysql-devel
Run Code Online (Sandbox Code Playgroud)
在Mac OS X上使用Homebrew:
brew install mysql
Run Code Online (Sandbox Code Playgroud)
Kel*_*sin 60
我在Mac上并使用自制软件来安装开源程序.我确实需要安装mac Dev工具才能安装自制软件,但之后这很简单:
brew install mysql
Run Code Online (Sandbox Code Playgroud)
安装mysql.我从没有过mysql gem问题.
Fra*_*ois 34
这是Windows用户的解决方案,希望它有所帮助!
安装railsinstaller - > www.railsinstaller.org(我将它安装到c:\ Rails)
安装MySQL(我使用MySQL 5.5) - > dev.mysql.com/downloads/installer/
---对于mySQL安装---
如果你还没有安装这两个文件,你可能需要它们才能让你的MySQL运行
vcredist_x86.exe - > http://www.microsoft.com/download/en/details.aspx? id = 5555 dotNetFx40_Full_x86_x64.exe - > http://www.microsoft.com/download/en/details.aspx?id=17718
使用默认安装开发者机器-MySQL Server配置
:3306
windows服务名称:MySQL55
mysql root pass:root(以后可以更改)
(用户名:root)
-MySQL Server Config----用于mySQL安装---
---安装mysql2 Gem ---
重要:用Git Bash命令行(这是用railsinstaller安装) - > start/Git Bash
gem install mysql2 - ' - with-mysql-lib ="c:\ Program Files\MySQL\MySQL Server 5.5\lib"--with-mysql -include ="c:\ Program Files\MySQL\MySQL Server 5.5\include"'
现在gem应该已经正确安装
最后复制libmysql.dll文件
C:\ Program Files\MySQL\MySQL Server 5.5\lib
到
C:\ Rails\Ruby1.9.2\bin
---安装mysql2宝石---
如果您不确定如何使用MySQL读取创建Rails 3应用程序,您现在可以将您的Rails应用程序与MySQL一起使用...
---使用MySQL获取Rails 3应用程序---
打开命令提示符(不是Git Bash) - > start/cmd
导航到您的文件夹(c:\ Sites)
创建新的rails应用程序
rails new world
Run Code Online (Sandbox Code Playgroud)
删除文件c:\ Sites\world\public\index.html
编辑文件c:\ Sites\world\config\routes.rb
添加此行 - > root:to =>'cities #index '
打开命令提示符(生成视图和控制器)
rails generate scaffold city ID:integer Name:string CountryCode:string District:string Population:integer
Run Code Online (Sandbox Code Playgroud)
编辑文件c:\ Sites\world\app\models\city.rb,如下所示
class City < ActiveRecord::Base
set_table_name "city"
end
Run Code Online (Sandbox Code Playgroud)
编辑文件c:\ Sites\world\config\database.yml看起来像这样
development:
adapter: mysql2
encoding: utf8
database: world
pool: 5
username: root
password: root
socket: /tmp/mysql.sock
Run Code Online (Sandbox Code Playgroud)
添加到gemfile
gem 'mysql2'
Run Code Online (Sandbox Code Playgroud)
打开命令提示符 windows cmd,而不是Git Bash(运行你的应用程序!)
导航到你的app文件夹(c:\ Sites\world)
rails s
Run Code Online (Sandbox Code Playgroud)
在这里打开浏览器 - > http:// localhost:3000
---获取与MySQL一起使用的Rails 3应用程序---
Off*_*eYA 20
我有几台计算机,32位和64位处理器,它们运行在Ubuntu Linux,Maverick(10.10)版本上.
我有同样的问题,对我来说,
sudo apt-get install libmysql-ruby libmysqlclient-dev
做了这个工作!
aru*_*noc 16
MacOS用户的另一种方式
如果您使用"brew"来安装mysql:
gem install mysql2 -v 'x.x.x' -- --with-mysql-config=/usr/local/Cellar/mysql/y.y.y/bin/mysql_config
Run Code Online (Sandbox Code Playgroud)
xxx =你要安装的mysql2 gem
的版本yyy =你已经安装的mysql版本ls /usr/local/Cellar/mysql
找到它.
Paa*_*Yaw 14
在 Ubuntu(18.04) 上
我能够通过运行以下命令来解决这个问题:
sudo apt-get install build-essential libmysqlclient-dev
gem install mysql2
Run Code Online (Sandbox Code Playgroud)
你尝试过使用过吗?
gem install mysql -- --with-mysql-lib=/usr/lib/mysql/lib
Run Code Online (Sandbox Code Playgroud)
指定base目录的位置以及完成gem安装所需的MySQL库的路径?
来源: MySQL Gem安装错误:无法构建gem原生扩展 MySQL论坛:: Ruby ::帮助安装MySQL绑定Ruby
对于MacOS Mojave:
gem install mysql2 -v '0.5.2' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
在 Debian Stretch 上,对我有用的软件包是default-libmysqlclient-dev
sudo apt-get update && apt-get install -y default-libmysqlclient-dev
这一次在Windows中解决了我的问题:
subst X: "C:\Program files\MySQL\MySQL Server 5.5"
gem install mysql2 -v 0.x.x --platform=ruby -- --with-mysql-dir=X: --with-mysql-lib=X:\lib\opt
subst X: /D
Run Code Online (Sandbox Code Playgroud)
就我而言,这有帮助:
$ export LDFLAGS="-L/usr/local/opt/openssl/lib"
$ export CPPFLAGS="-I/usr/local/opt/openssl/include"
Run Code Online (Sandbox Code Playgroud)
然后:
gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/' -- --with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib
Run Code Online (Sandbox Code Playgroud)
结果:
Building native extensions with: '--with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib'
This could take a while...
Successfully installed mysql2-0.5.2
Parsing documentation for mysql2-0.5.2
Installing ri documentation for mysql2-0.5.2
Done installing documentation for mysql2 after 0 seconds
1 gem installed
Run Code Online (Sandbox Code Playgroud)
请参阅这篇文章(警告:里面有日语)。