Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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
mysql ruby gem未在Windows 7上安装_Mysql_Ruby_Windows 7_Gem_Rubygems - Fatal编程技术网

mysql ruby gem未在Windows 7上安装

mysql ruby gem未在Windows 7上安装,mysql,ruby,windows-7,gem,rubygems,Mysql,Ruby,Windows 7,Gem,Rubygems,不是复制品。这个问题是mysqlgem,另一个问题是mysql2gem。虽然他们有相同的答案,但另一个问题的答案并没有明确说明解决方案是什么。答案隐藏在评论中。此问题包含解决方案,请参见答案的黄色文本 下面是我在尝试在Windows上安装mysql gem时收到的一个错误 C:\>gem install mysql Temporarily enhancing PATH to include DevKit... Building native extensions. This could

不是复制品。这个问题是mysqlgem,另一个问题是mysql2gem。虽然他们有相同的答案,但另一个问题的答案并没有明确说明解决方案是什么。答案隐藏在评论中。此问题包含解决方案,请参见答案的黄色文本

下面是我在尝试在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
我是怎么做到这一点的?
  • 安装了适用于Windows的MySQL
  • 已安装Python for Windows。此步骤可能与我的错误无关,但我将其包括在内,因为它是我部署的构建所必需的
  • 已安装Ruby for Windows。看起来我下载了“rubyinstaller-2.2.2-x64.exe”并安装了它
  • 安装了rubygems。看起来我下载并解压缩了“rubygems-2.4.7.zip”
  • 然后从Windows命令提示符运行以下命令:

    gem update --system
    
    …已安装在C:/Ruby22-x64/bin/gem中

    gem install rubygems-update
    
    update_rubygems
    
    …然后cd{文件夹解压缩到}

    ruby setup.rb
    
  • 然后我试着像这样安装mysql gem,结果却出现了一个错误

    C:>gem安装mysql 抓取:mysql-2.9.1.gem(100%) 错误:安装mysql时出错: “mysql”本机gem需要安装构建工具

    请更新路径以包含构建工具或下载DevKit 从“”开始,然后按照说明进行操作 在“

  • 因此,我按照说明进行了操作。我转到了该页面()。看起来我下载了“DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe”。当我提取这个愚蠢的提取器时,将文件与其他文件放在同一个目录中。因此,请确保在下载后和提取之前创建一个新文件夹

  • 然后我运行了这个命令

    ruby dk.rb init
    
    gem install rdiscount --platform=ruby
    
    然后我运行了这个命令,得到了一个错误

    ruby dk.rb install
    
    我必须确保“config.yml”文件指向我机器上安装Ruby的C:\Ruby22-x64文件夹。我删除了注释并更改了路径。然后重新运行该命令,它就工作了

    ruby dk.rb install
    
    然后运行这个命令

    ruby dk.rb init
    
    gem install rdiscount --platform=ruby
    
  • 然后尝试重新安装mysql gem。我的问题中出现了错误。真是一个gem!“我给你买了珠宝Betty,珠宝!"

    gem安装mysql

  • 2015年5月21日编辑: 根据下面的问题,我得到了一个新的错误

    C:\>gem安装mysql2--platform=ruby----with mysql lib=“C:\mysql connector\
    lib”--带有mysql include=“C:\mysql connector\include”--带有mysql dir=“C:\mysq
    l型连接器“'
    暂时增强包含DevKit的路径。。。
    使用“--with mysql lib=“C:\mysql connector\lib”--wi构建本机扩展
    th mysql include=“C:\mysql connector\include”--带有mysql dir=“C:\mysql connect
    或“'
    这可能需要一段时间。。。
    错误:安装mysql2时出错:
    错误:无法生成gem本机扩展。
    C:/Ruby22-x64/bin/ruby.exe-r./siteconf20150521-10824-1plgdr8.rb extconf.rb
    --使用mysql lib=“C:\mysql connector\lib”--使用mysql include=“C:\mysql connec
    tor\include”--带有mysql dir=“C:\mysql连接器”
    正在检查ruby/thread.h…是
    在ruby/thread.h中检查rb_线程调用(不带\u gvl())。是
    正在检查rb_线程_阻塞_区域()…否
    正在检查rb\u等待\u单个\u fd()…是
    正在检查rb_hash_dup()…是
    正在检查rb_intern3()…是
    -----
    使用--with mysql dir=C:\mysql connector\include;C:\mysql connector\include;C:\
    mysql连接器
    -----
    正在检查mysql.h…是的
    正在检查errmsg.h…是
    正在检查mysqld_错误。h…是
    ***extconf.rb失败***
    由于某些原因无法创建Makefile,可能缺少必要的
    库和/或标头。有关详细信息,请查看mkmf.log文件。您可以
    需要配置选项。
    提供的配置选项:
    --使用opt dir
    --不带opt dir
    --选择包含
    --不带opt include=${opt dir}/include
    --使用opt lib
    --不带opt lib=${opt dir}/lib
    --用make prog
    --没有make prog
    --srcdir=。
    --库尔迪尔
    --ruby=C:/Ruby22-x64/bin/$(ruby\u BASE\u NAME)
    --使用mysql目录
    --使用mysql include=${mysql dir}/include
    --使用mysql-lib=${mysql-dir}/lib
    C:/Ruby22-x64/lib/ruby/2.2.0/rake/task_manager.rb:62:in`[]:不知道如何
    构建任务'C:/mysql connector/lib;C:/mysql connector/lib;C:/mysql connector/lib
    /libmysql.lib'(运行时错误)
    来自C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:57:in'lookup_prerequision
    e'
    来自C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:53:in`prerequires中的block
    ite_任务'
    来自C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:53:in'map'
    来自C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:53:in'prerequisite_tasks
    '
    来自C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:199:in'invoke_prerequisi
    tes'
    来自C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:178:in`block in invoke\u w
    它叫“链”
    来自C:/Ruby22-x64/lib/ruby/2.2.0/monitor.rb:211:in'mon\u synchronize'
    来自C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:172:in'invoke_with_call_
    连锁店
    来自C:/Ruby22-x64/lib/ruby/2.2.0/rake/task.rb:165:in'invoke'
    来自extconf.rb:117:in`'
    extconf失败,退出代码1
    Gem文件仍将安装在C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mysql2中
    -0.3.18用于检查。
    结果记录到C:/Ruby22-x64/lib/ruby/gems/2.2.0/extensions/x64-mingw32/2.2.0
    /mysql2-0.3.18/gem_make.out
    C:\>
    
    “mysql”和“mysql2”包/扩展/gems不能与 Windows 7上64位版本的Ruby(或任何64位版本的 您需要为安装x86(32)位版本的Ruby 让他们工作

    因此,我在我的问题中重复了第3步,安装了1.9版,取而代之的是2013年8月30日luislavena在我的问题(191期)中的评论。这是x86(32位)版本。从这里获得

    看起来文件名是“rubynstaller-1.9.3-p551.exe”

    然后完成第4步。Ruby开发
    gem list
    
    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