Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Heroku with rails 5错误Gem::LoadError:为数据库适配器指定了“postgresql”_Ruby On Rails_Heroku_Deployment_Ruby On Rails 5 - Fatal编程技术网

Ruby on rails Heroku with rails 5错误Gem::LoadError:为数据库适配器指定了“postgresql”

Ruby on rails Heroku with rails 5错误Gem::LoadError:为数据库适配器指定了“postgresql”,ruby-on-rails,heroku,deployment,ruby-on-rails-5,Ruby On Rails,Heroku,Deployment,Ruby On Rails 5,我是Rails初学者,在部署到Heroku时发现了一些问题 早些时候我使用了SQLite3,后来当我知道我需要postgresql时,我安装了同样的程序并在本地机器上工作 从sqlite迁移到postgresql后,一个部署进展顺利。现在我看到了一些问题 Heroku日志、Gem文件和Database.yml详细信息如下 谁能帮我一下吗 提前谢谢 Gem文件的一部分: group :development, :test do gem 'pg', '~> 1.0.0' gem '

我是Rails初学者,在部署到Heroku时发现了一些问题

早些时候我使用了SQLite3,后来当我知道我需要postgresql时,我安装了同样的程序并在本地机器上工作

从sqlite迁移到postgresql后,一个部署进展顺利。现在我看到了一些问题

Heroku日志、Gem文件和Database.yml详细信息如下

谁能帮我一下吗

提前谢谢

Gem文件的一部分:

group :development, :test do
    gem 'pg', '~> 1.0.0'
  gem 'rails_12factor'
  #gem 'sqlite3'
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  # Adds support for Capybara system testing and selenium driver
  gem 'capybara', '~> 2.13'
  gem 'selenium-webdriver'
end

group :production do
    gem 'pg', '~> 1.0.0'
  gem 'rails_12factor'
end

group :development do
  # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
  gem 'web-console', '>= 3.3.0'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
Heroku日志的一部分

remote: -----> Installing node-v6.11.1-linux-x64
remote: -----> Detecting rake tasks
remote: -----> Preparing app for Rails asset pipeline
remote:        Running: rake assets:precompile
remote:        Yarn executable was not detected in the system.
remote:        Download Yarn at https://yarnpkg.com/en/docs/install
remote:        I, [2018-01-15T13:38:08.180450 #590]  INFO -- : Writing /tmp/build_3dd0bceef080f0d8f6be5bc51b9d4a48/public/assets/jumbotron--032aba6cd1415006731040523573e7138c703aedc6d1f46b3622cbe4c9feec27.jpg
remote:        rake aborted!
remote:        Gem::LoadError: Specified 'postgresql' for database adapter, but the gem is not loaded. Add `gem 'pg'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
remote:        /tmp/build_3dd0bceef080f0d8f6be5bc51b9d4a48/vendor/bundle/ruby/2.3.0/gems/activerecord-5.1.4/lib/active_record/connection_adapters/connection_specification.rb:188:in `rescue in spec'

remote:        /tmp/build_3dd0bceef080f0d8f6be5bc51b9d4a48/vendor/bundle/ruby/2.3.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/task.rb:67:in `block (2 levels) in define'
remote:        /tmp/build_3dd0bceef080f0d8f6be5bc51b9d4a48/vendor/bundle/ruby/2.3.0/gems/rake-12.3.0/exe/rake:27:in `<top (required)>'
remote:        Tasks: TOP => assets:precompile
remote:        (See full trace by running task with --trace)
remote:  !
remote:  !     Precompiling assets failed.
remote:  !
remote:  !     Push rejected, failed to compile Ruby app.
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !       Push rejected to damp-beyond-28813.

如果您最近将应用程序部署到Heroku,并且在尝试时,当您转到Heroku应用程序链接时出现应用程序崩溃错误,但其他一切似乎都正常,那么很可能是由于新发布的“pg”gem。Postgres发布了其gem的新版本,该版本似乎还不完全兼容,因此在您的gem文件中,请在group production下更改行:

gem 'pg'
OR
gem 'pg', '~> 1.0.0'

注意:>前面的波浪符号不是破折号

在Gemfile的组生产中进行此更新后,请确保运行bundle install-without-production来更新Gemfile.lock文件,执行git添加/提交循环,然后重新部署到Heroku

良好做法


使用pg gem一次不带:组,因为您的数据库对于开发和生产都是相同的

感谢@fool dev解决了这个问题。你又救了我。。。现在我看到remote:Stock Load 1.2ms SELECT stocks.*从stocks remote:rake中止!远程:ActiveRecord::语句无效:PG::UndefinedTable:错误:关系库存不存在远程:第1行:选择库存。*从库存远程:^remote::选择库存。*从库存我已重置数据库,这仍然让我感到不安。Heroku也用这个新的模式进行了迁移。@AbdulMuqeem请参阅文档以获取配置Heroku postgress凭据
gem 'pg'
OR
gem 'pg', '~> 1.0.0'
gem 'pg', '~> 0.11'
OR
gem 'pg', '~> 0.20.0'