[英]installing ruby with mysql2 on windows 7 64 bit returns error on rails s
我尝试在Windows 7上安装ruby并使用mysql2
下载了最新的安装程序, 这里为Windows 7 64位下载了Devkit,并按照此处的步骤进行了devkit安装
做了这个宝石安装rails
现在安装完一切后,我用这条线创建了我的应用程序
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://dev.mysql.com/downloads/mysql/的 mysql-installer-community-5.6.24.0.msi
在我的个人清单中,这些是我选择的组件: ..我选择的连接选项: ..和帐户/安全选项:
从http://rubyinstaller.org/downloads/安装Ruby rubyinstaller-2.1.6.exe
注意:根据http://rubyinstaller.org/downloads/我选择2.1。*(不是最后一个),我下载了标准的32位版本,因为64位版本的Ruby在Windows领域相对较新并非所有包都已更新为与之兼容。 要使用此版本,您将需要一些有关编译器和解决依赖性问题的知识,如果您只是想使用该语言,这可能会过于复杂。 同时阅读同一页面: Ruby 2.0.0及更高版本 - >:mingw64-32-4.7.2
DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe
(解压缩到C:\\DevKit
) 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
最后的最后一步:
连接MySQL Workbench并创建一个名为test_app_development的新模式(要创建一个新模式,您可以按下工具栏中的第4个图标,带有圆柱和加号..请参见下一个屏幕截图)
修复了config / database.yml中的用户名和密码,如sansarp anwser中所示
迁移数据库
迁移后,您的架构应如下所示:
执行rails -s
在浏览器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.