使用 Heroku 运行 控制台时 LoadError 找不到 dm-postgres-adapter

LoadError cannot find dm-postgres-adapter when using Heroku Run Console

我正在使用 WSL,在 Sinatra 网络应用程序培训中进行 Ruby,当我在 heroku 运行 控制台命令上需要 './main' 时,我得到 LoadError 但它不能需要 'dm-postgres-adapter.

我一直在学习教程,使用 WSL,我安装了 Ruby 及其依赖项,到目前为止,我安装的所有 gem 都是成功的。但是当我推送到 heroku 并且当我 运行 'heroku run console' 命令时,我输入 'require "./main"' 我得到一个 LoadError,告诉我...

joelg@SurfacePro3:~/RubyProgs/SinatraExcercise$ heroku 运行 控制台
运行 ⬢ sinatra-project-jg 上的控制台...向上,运行.2550(免费)
irb(main):001:0> 需要'./main'
警告:如果您计划将 ActiveSupport 的任何核心扩展加载到 Hash,请 确保在*加载 Sinatra::Application 或 Sinatra::Base 之前这样做。如果不, 您可以忽略此警告。 LoadError:无法加载此类文件——dm-postgres-adapter 来自 /app/vendor/bundle/ruby/2.4.0/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:163:in `require' 来自 /app/vendor/bundle/ruby/2.4.0/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:163:in `load_adapter' 来自 /app/vendor/bundle/ruby/2.4.0/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:133:in `adapter_class' 来自 /app/vendor/bundle/ruby/2.4.0/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:13:in `new' 来自 /app/vendor/bundle/ruby/2.4.0/gems/dm-core-1.2.1/lib/dm-core.rb:230:in `setup' 来自 /app/main.rb:21:in `block in ' 来自 /app/vendor/bundle/ruby/2.4.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1426:in `configure' 来自 /app/vendor/bundle/ruby/2.4.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1925:in `block (2 levels) in delegate' 来自 /app/main.rb:20:in `' 来自(irb):1:在“要求”中 来自(IRB):1 来自 /app/bin/irb:15:in `' irb(主要):002:0>

当我 运行 它说 dm-postgres-adapter 不是必需的,但我已经将它加载到我的 Gemfile 中。

我遇到了同样的错误。当你推送到 heroku 时,不要忽略来自 Heroku 的警告。

如果您正在使用 Git(您可能正在使用),您需要先通过命令行删除 .bundle/ 文件夹:

git rm --cached -r .bundle/

然后您需要在主目录中添加一个 .gitignore 文件,文件正文中包含“.bundle/”

将其全部提交给 git and/or github。 推送到 Heroku。 (没有更多令人讨厌的警告 RE .bundle/ 文件夹)

然后 运行 你的 heroku 运行 控制台命令并再次开始 Jumpstart 教程。