首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >生产环境误差

生产环境误差
EN

Stack Overflow用户
提问于 2012-12-05 15:21:47
回答 6查看 758关注 0票数 14

首先,我对Rails还是个新手。我正在制作一个博客应用程序,当我试图在生产中运行它时,两种方式都是:

代码语言:javascript
运行
复制
rails s -e production

代码语言:javascript
运行
复制
RAILS_ENV=production

我也犯了同样的错误:

=>引导WEBrick => Rails 3.2.8应用程序在http://0.0.0.0:3000上开始生产 用=>调用-d来分离 => Ctrl关闭服务器 正在退出 /home/loku/.rvm/gems/ruby-1.9.3-p286/gems/activerecord->解析_hash_connection:数据库配置没有指定适配器(ActiveRecord::AdapterNotSpecified) ..。

我的设置:

代码语言:javascript
运行
复制
ruby 1.9.3p286 (2012-10-12 revision 37165) [i686-linux]

Rails 3.2.8

database.yml:

代码语言:javascript
运行
复制
development:    
  adapter: mysql2    
  encoding: utf8    
  reconnect: false    
  database: blogg_development    
  pool: 5    
  timeout: 5000    
  username: root    
  password: *** 
  host: localhost    

production:    
  adapter: mysql2       
  encoding: utf8    
  reconnect: false    
  database: blogg_production    
  pool: 5    
  timeout: 5000    
  username: root    
  password: ***    
  host: localhost

Gemfile:

代码语言:javascript
运行
复制
source 'https://rubygems.org'
ruby '1.9.3'
gem 'rails', '3.2.8'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'mysql2'

# 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'
  gem 'haml-rails'
  gem 'less-rails'
  gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-    rails.git'
  #gem 'actionpack', '~> 3.1.0'
end

gem 'jquery-rails'
gem 'haml'
gem 'devise'
gem 'cancan'

group :test, :development do
  gem 'guard-livereload'
  gem 'rb-fsevent'
  gem 'pry'
  gem 'pry-rails'
end

group :linux do
  gem 'libnotify'
end

group :darwin do
  gem 'rb-fsevent', require: false
  gem 'growl'
end
EN

回答 6

Stack Overflow用户

发布于 2013-12-14 20:07:33

这些是需要考虑的事情。

  1. Gemfile中的mysql2 (它是)
  2. 在config/database.yml中定义的生产环境(它是) 2.2从您的database.yml中删除任何其他环境并离开生产:
  3. 确保它有适当的缩进(我想是的)
  4. 捆绑安装(以确保安装了gems )
  5. 捆绑显示mysql2以查看版本并确保其已安装
  6. bundle exec rails的-e生产(确保使用bundle exec)
  7. 如果这样做不起作用,我会在config/environments/production.rb中查找,并确保那里没有什么稀罕的东西。
票数 4
EN

Stack Overflow用户

发布于 2013-12-15 16:20:48

根据来源,只有两种可能的解释,你得到的错误。AdapterNotSpecified -当连接上未指定适配器(或配置文件config/database.yml错过适配器字段)时引发。

您复制并粘贴了database.yml文件吗?如果是这样的话,您可能想要擦除它,然后从头开始输入它们。确保缩进是一致的。有时,在复制和粘贴时,您还会复制一些隐藏字符,这些字符会被评估并在代码中造成问题。

希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2013-12-15 16:31:00

请加倍确认鲁门·米卢舍夫的意思: YAML对压痕非常敏感。

尝试完全删除production:部件,将development:重命名为production:,然后再试一次。

如果这是可行的,那么根据诸如database.yml这样的工具验证您的yamllint.com

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13726492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档