ruby-on-rails – 由于缺少pg gem,Rails服务器无法启动.卸载postgres,但我得到了同样的错误

ruby-on-rails – 由于缺少pg gem,Rails服务器无法启动.卸载postgres,但我得到了同样的错误,第1张

概述我在尝试启动Rails 5服务器时收到错误. 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). 我通过bre 我在尝试启动Rails 5服务器时收到错误.

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).

我通过brew删除了本地postgres,也删除了现有的mac app.
这是我的Gemfile

source 'https://rubygems.org'gem 'rails','5.0.0'gem 'puma','3.4.0'gem 'sass-rails','5.0.6'gem 'uglifIEr','3.0.0'gem 'coffee-rails','4.2.1'gem 'jquery-rails','4.1.1'gem 'turbolinks','5.0.0'gem 'jbuilder','2.4.1'group :development,:test do  gem 'sqlite3'  gem 'byeBUG','9.0.0',platform: :mriendgroup :development do  gem 'web-console','3.1.1'  gem 'Listen','3.0.8'  gem 'spring','1.7.2'  gem 'spring-watcher-Listen','2.0.0'endgroup :production do  gem 'pg'end# windows does not include zoneinfo files,so bundle the tzinfo-data gemgem 'tzinfo-data',platforms: [:mingw,:mswin,:x64_mingw,:jruby]

我用了

bundle install –without production

但我仍然得到同样的错误.有人可以帮忙吗?

谢谢,

解决方法 在我看来,您使用rails命令设置应用程序并传递选项以使用postgres数据库.这将自动存根您的database.yml文件,并为postgres配置它.说实话,我建议你设置一个数据库,就像你在prod中所期望的那样.它不是那么重,会让你头疼. (像这样!)

虽然我不认为这是最好的推理,但就个人而言,您可能会尝试像这样配置您的rails应用:

在你的Gemfile中:

group :development,:test do  # Use sqlite3 as the database for Active Record  gem 'sqlite3'endgroup :production do  # Use postgresql as the database for Active Record  gem 'pg','~> 0.18'end

然后在你的config / database.yml中:

postgres: &postgres  adapter: postgresql  enCoding: unicode  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>sqlite: &sqlite  adapter: sqlite3  pool: 5  timeout: 5000development:  <<: *sqlite  database: db/development.sqlite3test:  <<: *sqlite  database: db/test.sqlite3production:  <<: *postgres  database: postgresapp_production  username: postgresapp  password: <%= ENV['postgresapp_DATABASE_PASSWORD'] %>

这应该对你有用.

为了解释,我所做的一切基本上都是从sqlite rails应用程序中获取存根配置,并将database.yml文件中的默认,开发和测试配置部分粘贴到postgres rails应用程序的database.yml上,并在开发之上.测试部分.然后我将sqlite配置中的所有“默认”更改为“sqlite”,将postgres部分中的所有“默认”更改为“postgres”.然后我将sqlite gem添加到Gemile中的开发/测试环境中,并将pg gem仅移动到生产中.

您必须先运行bundle命令和db:create任务,然后才能运行它.

总结

以上是内存溢出为你收集整理的ruby-on-rails – 由于缺少pg gem,Rails服务器无法启动.卸载postgres,但我得到了同样的错误全部内容,希望文章能够帮你解决ruby-on-rails – 由于缺少pg gem,Rails服务器无法启动.卸载postgres,但我得到了同样的错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1265043.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存