Ruby mysql2 gem,无法在Windows 7上构建
我来自OSX,Ruby 90%的时间都运行得非常完美。我已经有一段时间没碰它了,现在正好在Windows7机器上工作。我正在尝试运行一个简单的RubyonRails项目,但我似乎无法通过任何数据库设置。Ruby mysql2 gem,无法在Windows 7上构建,mysql,ruby,windows-7,gem,Mysql,Ruby,Windows 7,Gem,我来自OSX,Ruby 90%的时间都运行得非常完美。我已经有一段时间没碰它了,现在正好在Windows7机器上工作。我正在尝试运行一个简单的RubyonRails项目,但我似乎无法通过任何数据库设置。 我想在mysql上运行,但当我尝试安装mysql2 gem时(通过bundle install或gem install mysql2),我会遇到以下错误: 使用本机安装mysql2(0.2.9) 扩展 C:/Ruby192/lib/ruby/site\u ruby/1 .9.1/rubygems
我想在mysql上运行,但当我尝试安装mysql2 gem时(通过
bundle install
或gem install mysql2
),我会遇到以下错误:
使用本机安装mysql2(0.2.9)
扩展
C:/Ruby192/lib/ruby/site\u ruby/1
.9.1/rubygems/installer.rb:533:in
`在构建扩展中的块中进行救援:
错误:未能生成gem本机
分机。
(Gem::Installer::ExtensionBuildError)
rb_线程_阻塞_区域()<强>*
extconf.rb失败*无法创建
Makefile可能是由于某种原因
缺乏必要的图书馆和/或
标题。检查mkmf.log文件中的
更多细节。你可能需要
配置选项
在这方面我几乎是个新手,所以如果有人有任何建议,请帮助我 Windows上本机扩展的问题在于有两种不同的编译器基础结构:一种基于MS VC及其Visual Studio,另一种基于MinGW(Windows的最低限度GCC) 有一些Ruby本机扩展可以用它们中的任何一个进行编译,而其他扩展只支持一个。而且,由于它们中的大多数都来自某种Unix,所以mingw很可能比MSVC工作得更好 因此,您可以尝试安装mingw并使用它编译mysql gem-有一个名为的特殊包,其中包含一个最小的必需mingw安装,您只需将它放在ruby安装中即可
我使用devkit成功地编译了几个本机扩展:eventmachine、linecache、bson ext等等。在devkit中,您会感觉到更多的是home:-)(来自OSX)Windows上本机扩展的问题在于有两种不同的编译器基础结构:一种基于MS VC及其Visual Studio,另一种基于MinGW(Windows的简约GCC) 有一些Ruby本机扩展可以用它们中的任何一个进行编译,而其他扩展只支持一个。而且,由于它们中的大多数都来自某种Unix,所以mingw很可能比MSVC工作得更好 因此,您可以尝试安装mingw并使用它编译mysql gem-有一个名为的特殊包,其中包含一个最小的必需mingw安装,您只需将它放在ruby安装中即可
我使用devkit成功地编译了几个本机扩展:eventmachine、linecache、bson ext等等。在devkit中,您会感觉到更多的东西在家:-)(来自OSX)如果您的devkit设置如@Tomasz所述正确,请确保您检查mysql2 gem版本与windows的兼容性,我过去曾经历过它会引起问题,并且必须安装以前的版本才能使其正常工作。上次我记得v0.2.6是支持windows的版本。如果您的devkit设置如@Tomasz所述正确,请确保您检查mysql2 gem版本与windows的兼容性,我过去曾遇到过该版本会导致问题,因此必须安装以前的版本才能正常工作。我记得v0.2.6是支持windows的版本。要安装和编译扩展,有时需要依赖项的库和标题。在这种情况下,您需要MySQL头和库来正确编译 假设您从下载了Ruby,并安装了,然后安装了,要成功安装mysql2 gem,我建议您在我们的:
gem安装mysql2-v 0.2.10--with mysql include=…--with mysql lib…
)--使用mysql include
选项提供指向mysql Connector/C的include
目录的路径。对于--使用mysql lib
也提供相同的路径,但此时指向lib
目录
不要忘记将libmysql.dll
复制到Rubybin
目录
希望这能有所帮助。要安装和编译扩展,有时需要依赖项的库和头。在这种情况下,您需要MySQL头和库来正确编译 假设您从下载了Ruby,并安装了,然后安装了,要成功安装mysql2 gem,我建议您在我们的:
gem安装mysql2-v 0.2.10--with mysql include=…--with mysql lib…
)--使用mysql include
选项提供指向mysql Connector/C的include
目录的路径。对于--使用mysql lib
也提供相同的路径,但此时指向lib
目录
不要忘记将libmysql.dll
复制到Rubybin
目录
希望这有帮助。如果我在安装了Visual Studio的计算机上,这可能是问题的原因吗?可能是的-它将尝试根据当前系统配置生成make文件,但由于不知道MSVC而失败。但我猜,在安装MinGW之前,我也遇到过类似的问题。我刚刚想到的是:MSVC和MinGW的一些本机扩展有不同的版本-你可以看看是否有为MSVC制作的mysql gem。如果我在安装了Visual Studio的机器上,这可能是问题的原因吗?可能是的-它将尝试根据当前的系统配置生成make文件失败是因为它不知道MSVC。但我猜,我只是有类似的问题,直到我
C:/Ruby192/bin/ruby.exe extconf.rb checking for