不重复。这个问题是mysql gem,另一个问题是mysql2 gem。他们确实有相同的答案,但另一个问题的答案并没有明确说明解决方案是什么。答案隐藏在评论中。请参阅此问题的答案的黄色文本包含解决方案。
以下是我尝试在Windows上安装mysql gem时收到的错误。
C:\>gem install mysql
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
C:/Ruby22-x64/bin/ruby.exe -r ./siteconf20150520-7968-hbly9l.rb extconf.rb
checking for main() in -llibmysql... 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=C:/Ruby22-x64/bin/$(RUBY_BASE_NAME)
--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-libmysqllib
--without-libmysqllib
extconf failed, exit code 1
Gem files will remain installed in C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mysql-
2.9.1 for inspection.
Results logged to C:/Ruby22-x64/lib/ruby/gems/2.2.0/extensions/x64-mingw32/2.2.0
/mysql-2.9.1/gem_make.out
http://dev.mysql.com/downloads/windows/installer/
https://www.python.org/downloads/
http://rubyinstaller.org/downloads/
https://rubygems.org/pages/download
然后从Windows命令提示符运行这些命令:
gem update --system
...安装在C:/ Ruby22-x64 / bin / gem
中gem install rubygems-update
update_rubygems
...然后cd {文件夹解压缩到}
ruby setup.rb
然后我尝试像这样安装mysql gem。并得到了一个错误。
C:> gem install mysql 获取:mysql-2.9.1.gem(100%) 错误:安装mysql时出错: ' mysql'本机gem需要安装构建工具。
请更新您的PATH以包含构建工具或下载DevKit 来自' http://rubyinstaller.org/downloads'并按照说明操作 在' http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'
所以我按照说明操作。我去了那个页面(http://rubyinstaller.org/downloads)。看起来我下载了#34; DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe"。当我解压缩愚蠢的提取器时,将文件与其他所有内容放在同一目录中。因此,请确保在下载之后和解压缩之前创建一个新文件夹。
然后我跑了这个命令。
ruby dk.rb init
然后我运行了这个命令,并收到错误。
ruby dk.rb install
我必须确保" config.yml"文件指向我的机器上的C:\ Ruby22-x64文件夹,用于安装Ruby的位置。我删除了评论并更改了路径。然后重新命令,它起作用了。
ruby dk.rb install
然后运行此命令。
gem install rdiscount --platform=ruby
然后尝试重新安装mysql gem。并在我的问题中得到了错误。真是太棒了! "我给你珠宝贝蒂,珠宝!"
gem install mysql
根据以下问题,我收到了新错误。
Ruby MYSQL2 gem installation on windows 7
C:\>gem install mysql2 --platform=ruby -- '--with-mysql-lib="C:\mysql-connector\
lib" --with-mysql-include="C:\mysql-connector\include" --with-mysql-dir="C:\mysq
l-connector"'
Temporarily enhancing PATH to include DevKit...
Building native extensions with: '--with-mysql-lib="C:\mysql-connector\lib" --wi
th-mysql-include="C:\mysql-connector\include" --with-mysql-dir="C:\mysql-connect
or"'
This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
C:/Ruby22-x64/bin/ruby.exe -r ./siteconf20150521-10824-1plgdr8.rb extconf.rb
--with-mysql-lib="C:\mysql-connector\lib" --with-mysql-include="C:\mysql-connec
tor\include" --with-mysql-dir="C:\mysql-connector"
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... no
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Using --with-mysql-dir=C:\mysql-connector\include;C:\mysql-connector\include;C:\
mysql-connector
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
*** 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=C:/Ruby22-x64/bin/$(RUBY_BASE_NAME)
--with-mysql-dir
--with-mysql-include=${mysql-dir}/include
--with-mysql-lib=${mysql-dir}/lib
C:/Ruby22-x64/lib/ruby/2.2.0/rake/task_manager.rb:62:in `[]': Don't know how to
build task 'C:/mysql-connector/lib;C:/mysql-connector/lib;C:/mysql-connector/lib
/libmysql.lib' (RuntimeError)
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:57:in `lookup_prerequisit
e'
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:53:in `block in prerequis
ite_tasks'
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:53:in `map'
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:53:in `prerequisite_tasks
'
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:199:in `invoke_prerequisi
tes'
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:178:in `block in invoke_w
ith_call_chain'
from C:/Ruby22-x64/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:172:in `invoke_with_call_
chain'
from C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:165:in `invoke'
from extconf.rb:117:in `<main>'
extconf failed, exit code 1
Gem files will remain installed in C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mysql2
-0.3.18 for inspection.
Results logged to C:/Ruby22-x64/lib/ruby/gems/2.2.0/extensions/x64-mingw32/2.2.0
/mysql2-0.3.18/gem_make.out
C:\>
答案 0 :(得分:2)
&#39; mysql&#39;和&#39; mysql2&#39;包/扩展/宝石不能使用 Windows 7上的x64位版本的Ruby(或任何64位版本的 视窗)。您需要安装x86(32)位版本的Ruby for 他们工作。
所以我在我的问题中重复了第3步,安装了1.9版,而不是在2013年8月30日由luislavena在我的问题(第191期)中提出我的评论中的建议。这是x86(32位)版本。从这里得到它。
http://rubyinstaller.org/downloads/
看起来该文件的名称是&#34; rubyinstaller-1.9.3-p551.exe&#34;。
然后完成第4步.Ruby开发人员必须修复他们的脚本以自动修改x86版本的config.yml文件。我没有必要编辑这段时间。
然后对于第5步,我安装了这个devkit exe,因为较新版本的Ruby没有一个x86的开发工具包。
对于第6步,我将其放入其自己的文件夹中。它仍然提取exe根目录中的文件,而不是exe根目录的文件夹。然后运行除最后一个命令之外的所有命令。它仍然抛出错误。
&#34;的devkit-TDM-32-4.5.2-20111229-1559-sfx.exe&#34;
然后对于第7步,我跑了。
gem install mysql
它安装了x86版本的mysql gem,因为我可以通过运行它看到gem。它非常有光泽,看起来很贵!
gem list
2015年5月26日更新:
安装在Windows上的最新版本的Ruby允许您使用 启动Rails服务器是2.1.6。
启动rails服务器并没有通过运行&#34; rails s&#34;来工作。我不得不回去卸载旧版本的Ruby。在这里看到我的答案。如果你在Windows上,请忽略其他答案。
Remove older versions of Ruby (on Windows)
Windows上唯一可以启动rails服务器的Ruby稳定版本是&#34; rubyinstaller-2.1.6.exe&#34;。 &#34; rubyinstaller-2.2.2.exe&#34;抛出以下错误:
C:/row/Ruby22/lib/ruby/gems/2.2.0/gems/nokogiri-1.6.6.2-x86-mingw32/lib/nokogiri
.rb:29:in `require': cannot load such file -- nokogiri/nokogiri (LoadError)
from C:/row/Ruby22/lib/ruby/gems/2.2.0/gems/nokogiri-1.6.6.2-x86-mingw32
/lib/nokogiri.rb:29:in `rescue in <top (required)>'
...
... continued