繁体   English   中英

在Windows 7 64位上使用mysql2安装ruby会在rails s上返回错误

[英]installing ruby with mysql2 on windows 7 64 bit returns error on rails s

我尝试在Windows 7上安装ruby并使用mysql2

下载了最新的安装程序, 这里为Windows 7 64位下载了Devkit,并按照此处的步骤进行了devkit安装

做了这个宝石安装rails

从MySQL的下载这里之后发现该指令在这里

现在安装完一切后,我用这条线创建了我的应用程序

rails new test_app -d mysql

将我的目录更改为我的新应用程序后

我跑了这条铁路线

我收到了这个错误

C:\Ruby22-x64\my_test_app>rails s
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mysql2-0.3.18-x64-mingw32/lib/mysql2/mysq
l2.rb:2:in `require': cannot load such file -- mysql2/2.2/mysql2 (LoadError)
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mysql2-0.3.18-x64-mingw32/li
b/mysql2/mysql2.rb:2:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mysql2-0.3.18-x64-mingw32/li
b/mysql2.rb:31:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/mysql2-0.3.18-x64-mingw32/li
b/mysql2.rb:31:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/ru
ntime.rb:76:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/ru
ntime.rb:76:in `block (2 levels) in require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/ru
ntime.rb:72:in `each'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/ru
ntime.rb:72:in `block in require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/ru
ntime.rb:61:in `each'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/ru
ntime.rb:61:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler.rb
:134:in `require'
        from C:/Ruby22-x64/my_test_app/config/application.rb:7:in `<top (require
d)>'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/com
mands/commands_tasks.rb:78:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/com
mands/commands_tasks.rb:78:in `block in server'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/com
mands/commands_tasks.rb:75:in `tap'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/com
mands/commands_tasks.rb:75:in `server'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/com
mands/commands_tasks.rb:39:in `run_command!'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/com
mands.rb:17:in `<top (required)>'
        from bin/rails:4:in `require'
        from bin/rails:4:in `<main>'

我在这里失踪的是什么? mysql2在我的Gemfile中。

虽然我没有将我的rails连接到我的数据库或配置了database.yml,因为我找不到任何关于如何操作的说明。

基本上按照这里的说明,我刚刚在Windows 7 64bit上完成了从零到全功能的安装。

在您的情况下,问题可能在于gem mysql2的版本或安装方式; 你可以从卸载开始并重新安装0.2.6版本@see Gediminas的答案 ,如果你有不同的版本,请检查GemFile。 这使我免受特定的麻烦:

--with-mysql-dir=.... --with-mysql-lib=.... --with-mysql-include=....


无论如何,我将详细说明我的清单的每个步骤,以便您可以查看您的安装是否存在差异

注意:根据http://rubyinstaller.org/downloads/我选择2.1。*(不是最后一个),我下载了标准的32位版本,因为64位版本的Ruby在Windows领域相对较新并非所有包都已更新为与之兼容。 要使用此版本,您将需要一些有关编译器和解决依赖性问题的知识,如果您只是想使用该语言,这可能会过于复杂。 同时阅读同一页面: Ruby 2.0.0及更高版本 - >:mingw64-32-4.7.2

 cd C:\\DevKit ruby dk.rb init ruby dk.rb install devkitvars.bat 
  • 不要忘记在我的情况下复制libmysql.dll ,安装mysql社区5.6之后我发现三个不同的dll(维度)同名:
 cd \\ find . -name "libmysql.dll" ./Program Files/MySQL/MySQL Connector.C 6.1/lib/libmysql.dll ./Program Files/MySQL/MySQL Server 5.6/lib/libmysql.dll ./Program Files/MySQL/MySQL Workbench 6.2 CE/libmysql.dll`` 

我明确地选择了这个选项:

 C:>cd C:\\Ruby21\\bin> C:\\Ruby21\\bin> copy "\\Program Files\\MySQL\\MySQL Server 5.6\\lib\\libmysql.dll" . 1 file(s) copied. 
 C:\\Ruby21\\bin>gem update --system ... [snip] ... C:\\Ruby21\\bin>gem env RubyGems Environment: - RUBYGEMS VERSION: 2.4.6 - RUBY VERSION: 2.1.6 (2015-04-13 patchlevel 336) [i386-mingw32] - INSTALLATION DIRECTORY: C:/Ruby21/lib/ruby/gems/2.1.0 - RUBY EXECUTABLE: C:/Ruby21/bin/ruby.exe - EXECUTABLE DIRECTORY: C:/Ruby21/bin - SPEC CACHE DIRECTORY: C:/Users/rondadev/.gem/specs - SYSTEM CONFIGURATION DIRECTORY: C:/ProgramData - RUBYGEMS PLATFORMS: - ruby - x86-mingw32 - GEM PATHS: - C:/Ruby21/lib/ruby/gems/2.1.0 - C:/Users/rondadev/.gem/ruby/2.1.0 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - https://rubygems.org/ - SHELL PATH: - C:\\DevKit\\bin - C:\\DevKit\\mingw\\bin - C:\\Ruby21\\bin - C:\\Windows\\system32 - C:\\Windows - C:\\Windows\\System32\\Wbem - C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\ - C:\\Program Files (x86)\\Windows Kits\\8.1\\Windows Performance Toolkit\\ - C:\\Program Files\\Microsoft SQL Server\\110\\Tools\\Binn\\ - C:\\Program Files (x86)\\Microsoft SDKs\\TypeScript\\1.0\\ - C:\\Program Files (x86)\\MySQL\\MySQL Fabric 1.5.4 

准备安装rails并创建第一个应用程序:

 gem install rails gem install mysql2 -v 0.2.6 rails new test_app -d mysql 

最后的最后一步:

  1. 连接MySQL Workbench并创建一个名为test_app_development的新模式(要创建一个新模式,您可以按下工具栏中的第4个图标,带有圆柱和加号..请参见下一个屏幕截图)

  2. 修复了config / database.yml中的用户名和密码,如sansarp anwser中所示 在此输入图像描述

  3. 迁移数据库

MySQL Workbench和数据库迁移 迁移后,您的架构应如下所示: 在此输入图像描述

  1. 执行rails -s

  2. 在浏览器http:// localhost:3000中成功打开

```

C:\Projects\test_app>rake db:migrate --trace
DL is deprecated, please use Fiddle
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:migrate
** Invoke db:_dump (first_time)
** Execute db:_dump
** Invoke db:schema:dump (first_time)
** Invoke environment
** Invoke db:load_config
** Execute db:schema:dump

C:\Projects\test_app>rails s
DL is deprecated, please use Fiddle
=> Booting WEBrick
=> Rails 4.2.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2015-04-29 00:20:21] INFO  WEBrick 1.3.1
[2015-04-29 00:20:21] INFO  ruby 2.1.6 (2015-04-13) [i386-mingw32]
[2015-04-29 00:20:21] INFO  WEBrick::HTTPServer#start: pid=4144 port=3000


Started GET "/" for ::1 at 2015-04-29 00:20:34 +0200
Processing by Rails::WelcomeController#index as HTML
  Rendered C:/Ruby21/lib/ruby/gems/2.1.0/gems/railties-4.2.1/lib/rails/templates
/rails/welcome/index.html.erb (0.0ms)
Completed 200 OK in 31ms (Views: 15.6ms | ActiveRecord: 0.0ms)

在config / database.yml中,您的开发环境具有以下设置:

development:
  adapter: mysql2 
  database: db_name 
  username: your_username
  password: your_password

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM