【问题标题】:Windows Rails Server error (mysql, bundler, railties)Windows Rails 服务器错误(mysql、bundler、railties)
【发布时间】:2013-05-06 14:56:29
【问题描述】:

我刚开始使用 ruby​​(在 Windows 上)进行一个项目,当我运行“rails server”时,我有这个 ince ,essage :

C:\Sites\rails_projects\first_app>rails 服务器 C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mysql-2.9.1-x86-mingw32/lib /mysql.rb:6:in require': cannot load such file -- mysql/mysql_api (LoadError) from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mysql-2.9.1-x8 6-mingw32/lib/mysql.rb:6:inrescue in ' 来自 C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mysql-2.9.1-x8 6-mingw32/lib/mysql.rb:2:in <top (required)>' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/ lib/bundler/runtime.rb:72:inrequire' 来自 C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/ lib/bundler/runtime.rb:72:in block (2 levels) in require' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/ lib/bundler/runtime.rb:70:ineach' 来自 C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/ lib/bundler/runtime.rb:70:in block in require' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/ lib/bundler/runtime.rb:59:ineach' 来自 C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/ lib/bundler/runtime.rb:59:in require' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/ lib/bundler.rb:132:inrequire' 来自 C:/Sites/rails_projects/first_app/config/application.rb:7:in <top (required)>' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1 3/lib/rails/commands.rb:53:inrequire' 来自 C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1 3/lib/rails/commands.rb:53:in block in <top (required)>' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1 3/lib/rails/commands.rb:50:intap' 来自 C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1 3/lib/rails/commands.rb:50:in <top (required)>' from script/rails:6:inrequire' 来自脚本/rails:6:in `'

我当然漏掉了什么。这是我的 Gemfile : 源'https://rubygems.org'

gem 'rails', '3.2.13'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'bundler'
gem 'sqlite3'
gem 'mysql'
gem 'geocode'
gem 'gmaps4rails'
gem 'railties'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

我刚开始时没有 ruby​​ 代码文件(或者我有一个,当你创建一个新的铁路项目时生成的那个)。

提前致谢,


感谢您的快速回答,但不幸的是我遇到了同样的错误:

C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/l ib/mysql2/mysql2.rb:2:in require': 126: Le module spécifié est introuvable. - C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/ lib/mysql2/1.9/mysql2.so (LoadError) from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11- x86-mingw32/lib/mysql2/mysql2.rb:2:in' 来自 C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11- x86-mingw32/lib/mysql2.rb:9:in require' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11- x86-mingw32/lib/mysql2.rb:9:in' 来自 C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/ lib/bundler/runtime.rb:72:in require' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/ lib/bundler/runtime.rb:72:inblock (2 级别) in require' 来自 C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/ lib/bundler/runtime.rb:70:in each' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/ lib/bundler/runtime.rb:70:inblock in require' 来自 C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/ lib/bundler/runtime.rb:59:in each' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/ lib/bundler/runtime.rb:59:inrequire' 来自 C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/ lib/bundler.rb:132:in require' from C:/Sites/rails_projects/first_app/config/application.rb:7:in' 来自 C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1 3/lib/rails/commands.rb:53:in require' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1 3/lib/rails/commands.rb:53:inblock in ' 来自 C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1 3/lib/rails/commands.rb:50:in tap' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1 3/lib/rails/commands.rb:50:in' 来自脚本/rails:6:in require' from script/rails:6:in'

My files : Gemfile
source 'https://rubygems.org'

gem 'rails', '3.2.13'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'bundler'
# gem 'sqlite3'
gem 'mysql2', '~> 0.3.11'
gem 'geocode'
gem 'gmaps4rails'
gem 'railties'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

数据库.yml

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'mysql2'
development:
  adapter: mysql2
  database: db/development.mysql2
  pool: 5
  timeout: 5000

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql2
  database: db/test.mysql2
  pool: 5
  timeout: 5000

production:
  adapter: mysql2
  database: db/production.mysql2
  pool: 5
  timeout: 5000

再次感谢您的帮助,

【问题讨论】:

  • 任何想法都会对大家有所帮助。

标签: ruby-on-rails windows require


【解决方案1】:

不要同时包含 sqlite3 gem 和 mysql gem。

  1. 删除现有的Gemfile.lock 文件。

  2. 删除gem 'sqlite3'

  3. gem 'mysql' 替换为gem 'mysql2', '~&gt; 0.3.11'

  4. 运行 bundle install 并重试。

另外,请确保您的系统中安装了 mysql。并配置您的 config/database.yml 以使用 mysql 适配器为 development

编辑:
libmysql.dllC:\Program Files\MySQL\MySQL version\bin(它必须存在,取决于你的MySQL 版本等)复制到C:/RailsInstaller/Ruby1.9.3/bin

【讨论】:

  • 感谢您的快速回答,遗憾的是仍然无法正常工作。请在下面查看我的 cmets
  • 我在答案中添加了一个步骤,试试看它是否适合你。
  • 感谢您的回答。我有一个新错误,但还有其他旧错误。请看下文。再次感谢您的耐心等待。
  • 嗨,我的补充。版主删除了帖子,将我的帖子视为其他问题(事实并非如此,因为它与我的第一个问题有关,即 Mysql、railties 和 bundler 上的错误)。所以这是我收到的消息(除了捆绑器和不动产上的其他消息):C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/ l ib/mysql2/mysql2.rb:2:in require':MySQL客户端库版本不正确!此 gem 是为 6.0.0 编译的,但客户端库是 5.6.11。 (运行时错误)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多