【发布时间】:2019-05-22 12:10:21
【问题描述】:
我在 WSL 上,在 Sinatra Web 应用程序培训上研究 Ruby,当我在 heroku 运行控制台命令上需要 './main' 时,我收到 LoadError 并且它不能需要 'dm-postgres-adapter。
我一直在学习使用 WSL 的教程,我安装了 Ruby 及其依赖项,到目前为止,我安装的所有 gem 都是成功的。但是当我推送到 heroku 并运行“heroku 运行控制台”命令并输入“require "./main"' 时,我得到一个 LoadError,告诉我......
joelg@SurfacePro3:~/RubyProgs/SinatraExcercise$ heroku 运行控制台
在⬢ sinatra-project-jg 上运行控制台... up, run.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:in `require' 来自 (irb):1 来自 /app/bin/irb:15:in `' irb(主):002:0>
当我运行它时,它说不需要 dm-postgres-adapter,但我已将它加载到我的 Gemfile 中。
【问题讨论】:
-
require中存在哪些main.rb行?你在学习什么教程? -
需要“sinatra”如果开发需要“sinatra/contrib”?需要 'sinatra/flash' 需要 "pony" 需要 "slim" 需要 "sass" 需要 "./song" 需要'./sinatra/auth' 需要'v8' 需要'coffee-script' 我正在关注 jumpstart sinatra 书.
-
这很难阅读,因此您应该将该信息移至您的问题中。如果添加
require 'dm-postgres-adapter'会发生什么? -
同样的错误,只是这次错误在require部分。
-
不确定,我建议您使用细齿梳子仔细阅读您使用的指南,并确保您完全按照顺序执行每一步。
标签: ruby postgresql rubygems sinatra windows-subsystem-for-linux