如何停止安装sqlite3适配器:`gem install activerecord-sqlite3-adapter'在服务器上 [英] how to stop the install the sqlite3 adapter: `gem install activerecord-sqlite3-adapter` on the server
问题描述
我正在生产模式下部署应用程序,但是当我尝试完成该过程时,遥遥表明对sqlite适配器的需求,请问有人知道如何停止此问题?
I'm deploying a app on production mode but when i try to finish the process the aways show this need for sqlite adapter, please someone know how to stop this issue?
我一直在使用RAILS_ENV = production,但在这种情况下不起作用.
i've been using RAILS_ENV=production but in this case did not worked.
current$ rails generate admin_interface:setup RAILS_ENV=production
DEPRECATION WARNING: Support for Rails < 4.1.0 will be dropped. (called from warn at /home/ubuntu/.rbenv/versions/2.2.2/lib/ruby/2.2.0/forwardable.rb:183)
/home/ubuntu/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/bundler-1.12.5/lib/bundler/rubygems_integration.rb:322:in `block in replace_gem': Please install the sqlite3 adapter: `gem install activerecord-sqlite3-adapter` (sqlite3 is not part of the bundle. Add it to Gemfile.) (LoadError)
from /home/ubuntu/vitrineonline/releases/10/vendor/bundle/ruby/2.2.0/gems/activerecord-3.2.22/lib/active_record/connection_adapters/sqlite3_adapter.rb:3:in `<top (required)>'
from /home/ubuntu/vitrineonline/releases/10/vendor/bundle/ruby/2.2.0/gems/backports-3.6.8/lib/backports/std_lib.rb:9:in `require'
from /home/ubuntu/vitrineonline/releases/10/vendor/bundle/ruby/2.2.0/gems/backports-3.6.8/lib/backports/std_lib.rb:9:in `require_with_backports'
from /home/ubuntu/vitrineonline/releases/10/vendor/bundle/ruby/2.2.0/gems/activesupport-3.2.22/lib/active_support/dependencies.rb:251:in `block in require'
from /home/ubuntu/vitrineonline/releases/10/vendor/bundle/ruby/2.2.0/gems/activesupport-3.2.22/lib/active_support/dependencies.rb:236:in `load_dependency'
from /home/ubuntu/vitrineonline/releases/10/vendor/bundle/ruby/2.2.0/gems/activesupport-3.2.22/lib/active_support/dependencies.rb:251:in `require'
from /home/ubuntu/vitrineonline/releases/10/vendor/bundle/ruby/2.2.0/gems/activerecord-3.2.22/lib/active_record/connection_adapters/abstract/connection_specification.rb:50:in `resolve_hash_connection'
推荐答案
我看到的第一个问题是您应该在命令的开头放置 RAILS_ENV
声明,因为这将为命令的寿命.
The first issue I see is that you should put the RAILS_ENV
declaration at the beginning of your command as this sets that variable for the life of the command.
RAILS_ENV=production bundle exec rails generate admin_interface:setup
这可能完全是根本原因.(还要注意使用 bundle exec
来确保正确加载了Gemfile中指定的gemset)
This could be the root cause entirely. (Also note the use of bundle exec
to be sure that the gemset specified in the Gemfile is properly loaded)
如果要为外壳设置它,请运行:
If you want to set it for the shell, run:
export RAILS_ENV=production
因此您不必为每个命令手动设置它.
So you don't have to manually set it for every command.
第二种可能性是数据库适配器配置不正确.如果这是Ruby on Rails应用程序,则在 config/database.yml
中定义数据库适配器.如果未指定,则可能默认为sqlite3.确保您已正确设置了database.yml文件.
The second possibility is that the database adapter is not properly configured. If this is a Ruby on Rails app, the database adapter is defined in config/database.yml
. If not specified, it may be defaulting to sqlite3. Make sure you have a properly setup database.yml file.
production:
adapter: postgresql
database: rails4_stack
username: myusername
password: mypassword
pool: 5
timeout: 5000
encoding: utf8
reconnect: false
这篇关于如何停止安装sqlite3适配器:`gem install activerecord-sqlite3-adapter'在服务器上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!