【问题标题】:rake aborted! LoadError: no such file to load -- active_record/connection_adapters/postgresql/explain_pretty_printer耙中止! LoadError: no such file to load -- active_record/connection_adapters/postgresql/explain_pretty_printer
【发布时间】:2018-09-01 08:52:40
【问题描述】:

我已经开始学习 Ruby on Rails,并且我遵循了许多指南,因此我在我的 Windows 7 64 位机器上使用了许多版本的 Ruby。目前我已经安装了 Ruby 2.3,我也将它用于入门指南Getting started with Rails。让 Heroku 我想到生产。我已经完成了他们的Getting started on Heroku with Ruby(Windows) 这也让我安装了 JRuby 9.1.8。我按照指南取得了巨大的成功。我可以在本地和 Heroku 上测试我的应用程序。 在使用文档之后,我想在这里使用 Aptana v3 做一个真实的事情并创建一个将部署在 Heroku 上的应用程序,我需要运行我的 PostgreSQL 服务器,我已经安装了 Enterprise 版本 9.3。我测试了它,我工作正常。 现在我应该能够为 heroku 创建我的第一个项目,并且我找到了另一个指南 Using Rails, Aptana, PostgreSQL, and Heroku Seamlessly 我遇到困难的地方是在尝试创建 postgres 数据库时。 我已决定概述为使事情变得清晰而采取的所有步骤。

当我运行这个命令时:) rails new readlyme-test-perfect -d postgresql 我得到以下输出:

Expected string default value for '--rc'; got false (boolean)
  create
  create  README.rdoc
  create  Rakefile
  create  config.ru
  create  .gitignore
  create  Gemfile
  create  app
  create  app/assets/javascripts/application.js
  create  app/assets/stylesheets/application.css
  create  app/controllers/application_controller.rb
  create  app/helpers/application_helper.rb
  create  app/views/layouts/application.html.erb
  create  app/assets/images/.keep
  create  app/mailers/.keep
  create  app/models/.keep
  create  app/controllers/concerns/.keep
  create  app/models/concerns/.keep
  create  bin
  create  bin/bundle
  create  bin/rails
  create  bin/rake
  create  bin/setup
  create  config
  create  config/routes.rb
  create  config/application.rb
  create  config/environment.rb
  create  config/secrets.yml
  create  config/environments
  create  config/environments/development.rb
  create  config/environments/production.rb
  create  config/environments/test.rb
  create  config/initializers
  create  config/initializers/assets.rb
  create  config/initializers/backtrace_silencers.rb
  create  config/initializers/cookies_serializer.rb
  create  config/initializers/filter_parameter_logging.rb
  create  config/initializers/inflections.rb
  create  config/initializers/mime_types.rb
  create  config/initializers/session_store.rb
  create  config/initializers/wrap_parameters.rb
  create  config/locales
  create  config/locales/en.yml
  create  config/boot.rb
  create  config/database.yml
  create  db
  create  db/seeds.rb
  create  lib
  create  lib/tasks
  create  lib/tasks/.keep
  create  lib/assets
  create  lib/assets/.keep
  create  log
  create  log/.keep
  create  public
  create  public/404.html
  create  public/422.html
  create  public/500.html
  create  public/favicon.ico
  create  public/robots.txt
  create  test/fixtures
  create  test/fixtures/.keep
  create  test/controllers
  create  test/controllers/.keep
  create  test/mailers
  create  test/mailers/.keep
  create  test/models
  create  test/models/.keep
  create  test/helpers
  create  test/helpers/.keep
  create  test/integration
  create  test/integration/.keep
  create  test/test_helper.rb
  create  tmp/cache
  create  tmp/cache/assets
  create  vendor/assets/javascripts
  create  vendor/assets/javascripts/.keep
  create  vendor/assets/stylesheets
  create  vendor/assets/stylesheets/.keep
     run  bundle install

  Fetching gem metadata from https://rubygems.org/...........
  Fetching gem metadata from https://rubygems.org/..

  Resolving dependencies...............................................................................................

  Fetching rake 12.3.1
  Installing rake 12.3.1
  Fetching concurrent-ruby 1.0.5 (java)
  Installing concurrent-ruby 1.0.5 (java)
  Fetching i18n 0.9.5
  Installing i18n 0.9.5
  Using json 1.8.6 (java)
  Fetching minitest 5.11.3
  Installing minitest 5.11.3
  Using thread_safe 0.3.6 (java)
  Fetching tzinfo 1.2.5
  Installing tzinfo 1.2.5
  Using activesupport 4.2.4
  Using builder 3.2.3
  Using erubis 2.7.0
  Fetching nokogiri 1.8.2 (java)
  Installing nokogiri 1.8.2 (java)
  Using rails-deprecated_sanitizer 1.0.3
  Fetching rails-dom-testing 1.0.9
  Installing rails-dom-testing 1.0.9
  Fetching crass 1.0.3
  Installing crass 1.0.3
  Fetching loofah 2.2.1
  Installing loofah 2.2.1
  Using rails-html-sanitizer 1.0.3
  Using actionview 4.2.4
  Fetching rack 1.6.9
  Installing rack 1.6.9
  Using rack-test 0.6.3
  Using actionpack 4.2.4
  Fetching globalid 0.4.1
  Installing globalid 0.4.1
  Using activejob 4.2.4
  Fetching mini_mime 1.0.0
  Installing mini_mime 1.0.0
  Fetching mail 2.7.0
  Installing mail 2.7.0
  Using actionmailer 4.2.4
  Using activemodel 4.2.4
  Using arel 6.0.4
  Using activerecord 4.2.4
  Fetching activerecord-jdbc-adapter 50.0
  Installing activerecord-jdbc-adapter 50.0
  Fetching jdbc-postgres 42.1.4
  Installing jdbc-postgres 42.1.4
  Fetching activerecord-jdbcpostgresql-adapter 50.0
  Installing activerecord-jdbcpostgresql-adapter 50.0
  Using bundler 1.16.1
  Using coffee-script-source 1.12.2
  Using execjs 2.7.0
  Using coffee-script 2.4.1
  Fetching thor 0.20.0
  Installing thor 0.20.0
  Using railties 4.2.4
  Fetching coffee-rails 4.1.1
  Installing coffee-rails 4.1.1
  Fetching ffi 1.9.23 (java)
  Installing ffi 1.9.23 (java)
  Fetching multi_json 1.13.1
  Installing multi_json 1.13.1
  Fetching jbuilder 2.7.0
  Installing jbuilder 2.7.0
  Using jquery-rails 4.3.1
  Fetching sprockets 3.7.1
  Installing sprockets 3.7.1
  Fetching sprockets-rails 3.2.1
  Installing sprockets-rails 3.2.1
  Using rails 4.2.4
  Fetching rb-fsevent 0.10.3
  Installing rb-fsevent 0.10.3
  Fetching rb-inotify 0.9.10
  Installing rb-inotify 0.9.10
  Using rdoc 4.3.0
  Fetching sass-listen 4.0.0
  Installing sass-listen 4.0.0
  Fetching sass 3.5.5
  Installing sass 3.5.5
  Fetching tilt 2.0.8
  Installing tilt 2.0.8
  Fetching sass-rails 5.0.7
  Installing sass-rails 5.0.7
  Using sdoc 0.4.2
  Fetching therubyrhino_jar 1.7.6
  Installing therubyrhino_jar 1.7.6
  Fetching therubyrhino 2.0.4
  Installing therubyrhino 2.0.4
  Fetching turbolinks-source 5.1.0
  Installing turbolinks-source 5.1.0
  Fetching turbolinks 5.1.0
  Installing turbolinks 5.1.0
  Fetching tzinfo-data 1.2018.3
  Installing tzinfo-data 1.2018.3
  Fetching uglifier 4.1.8
  Installing uglifier 4.1.8
  Bundle complete! 11 Gemfile dependencies, 59 gems now installed.
  Use `bundle info [gemname]` to see where a bundled gem is installed.

要创建数据库,我导航到项目文件夹并运行以下命令:

rake db:create:all

我收到了这个错误:

$ rake db:create:all
rake aborted!
LoadError: no such file to load -- active_record/connection_adapters/postgresql/explain_pretty_printer
C:/Users/Luke/Documents/Aptana/readlyme-test-perfect/config/application.rb:7:in `(root)'
C:/Users/Luke/Documents/Aptana/readlyme-test-perfect/rakefile:1:in `block in (root)'
C:/Users/Luke/Documents/Aptana/readlyme-test-perfect/rakefile:4:in `(root)'
(See full trace by running task with --trace)

我需要帮助。谢谢你。

【问题讨论】:

  • 你确定在你的 Gemfile gem 'pg' 然后运行 ​​bundle install 吗?
  • 如你所说,尝试 gem 'pg' 或 gem pg,我得到了同样的错误:$ gem pg ERROR: While execution gem ... (Gem::CommandLineError) Unknown Command pg
  • 没有命令 gem pg 但 gem 应该在您的 Gemfile 中。你能运行bundle install 吗?
  • bundle install 命令在搭建脚手架后自动运行,您可以从帖子中看到。但是我尝试再次运行它但没有成功。 @alassandrocb 放了 gem 卸载/安装 pg 命令,但我得到了另一个错误。你可以在下面检查它。感谢您的关心。

标签: ruby-on-rails ruby postgresql heroku activerecord


【解决方案1】:

您确定在运行 rails new readlyme-test-perfect -d postgresq 之前安装了 postgresql gem 吗?尝试重新安装它。

gem uninstall pg
gem install pg

【讨论】:

  • 运行卸载命令后,我进行了安装并收到错误:错误:安装 pg 时出错:错误:无法构建 gem 原生扩展。当前目录:C:/jruby-9.1.8.0/lib/ruby/gems/shared/gems/pg-1.0.0/ext C:/jruby-9.1.8.0/bin/jruby.exe -r ./siteconf20180321-8296 -zr3nxl.rb extconf.rb 检查 pg_config... 否 没有 pg_config... 无论如何都在尝试。如果构建失败,请使用 --with-pg-config=/path/to/pg_config 检查 libpq-fe.h 重试... RuntimeError: The compiler failed to generate an executable file。您必须先安装开发工具。
  • 试试postgresql的安装目录gem install pg -- --with-pg-dir="C:\Path\To\PostgreSQL\9.5"
  • gem install pg -- --with-pg-dir="C:\Program Files\PostgreSQL\9.3" 我得到了同样的错误。我怀疑,这可能是需要在 C 中构建本机扩展的东西。我在使用 sqlite3 时遇到了类似的问题,但不知道如何使用 postgresql
  • @user3673744 您能否用新的错误输出完全编辑您的问题。
【解决方案2】:

在关注了很多类似的问题和他们的答案之后,我意识到我的问题的原因是来自 Ruby 安装。虽然我在关注 Rails 和 Heroku 的官方文档,但运行 JRuby 9.1.8.I 和 Ruby2.3 并不是一个好方法。使用 Ruby2.3 和 Devkit,我能够安装 rails 并且可以方便地使用 slite3 和 mysql 适配器。我几乎不知道它也会为 postgresql 服务。当我安装 JRuby 时,它会覆盖 Ruby rails 安装,并且可以创建一个 rails 项目,就像我从这里发布的问题一样。

为了解决这个问题,我只需卸载 JRuby,将其从环境变量中删除,系统重启后,我安装 rails 并使用以下命令创建一个 rail 项目:rails new readlyme-test-perfect -d postgresql 每件事都像魅力一样。 现在在Heroku Docs 的帮助下,我已经将我的应用程序部署在 heroku 中,迁移我的数据库,现在可以方便地从 Aptana3 编码。

非常感谢我的所有贡献者。

【讨论】:

    【解决方案3】:

    对于那些想继续使用 JRuby(OP 显然切换回 C Ruby)的人,我可以通过在我的 Gemfile 中强制使用旧版本来使其工作:

    gem "activerecord-jdbcpostgresql-adapter", "1.3.24", :platform => :jruby

    自动下拉的 >= 50.0 版本与其他依赖项的版本(如 Rails 4.2.8)冲突

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多