我在WSL上,在Sinatra Web应用程序培训上的Ruby上工作,当我在heroku运行控制台命令上要求使用'./main'时,我得到LoadError并且它不需要'dm-postgres-adapter。 >
我一直在使用WSL跟踪教程,我安装了Ruby及其依赖项,到目前为止,我安装的所有gems都成功了。但是当我按下heroku并运行“ heroku运行控制台”命令,然后键入“ require“ ./main””时,我得到一个LoadError,告诉我...
joelg@SurfacePro3:~/RubyProgs/SinatraExcercise$ heroku run console
Running console on ⬢ sinatra-project-jg... up, run.2550 (Free)
irb(main):001:0> require './main'
WARNING: If you plan to load any of ActiveSupport's core extensions to Hash, be sure to do so *before* loading Sinatra::Application or Sinatra::Base. If not, you may disregard this warning. LoadError: cannot load such file -- dm-postgres-adapter from /app/vendor/bundle/ruby/2.4.0/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:163:in `require' from /app/vendor/bundle/ruby/2.4.0/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:163:in `load_adapter' from /app/vendor/bundle/ruby/2.4.0/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:133:in `adapter_class' from /app/vendor/bundle/ruby/2.4.0/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:13:in `new' from /app/vendor/bundle/ruby/2.4.0/gems/dm-core-1.2.1/lib/dm-core.rb:230:in `setup' from /app/main.rb:21:in `block in ' from /app/vendor/bundle/ruby/2.4.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1426:in `configure' from /app/vendor/bundle/ruby/2.4.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1925:in `block (2 levels) in delegate' from /app/main.rb:20:in `' from (irb):1:in `require' from (irb):1 from /app/bin/irb:15:in `' irb(main):002:0>
当我运行它时,它说不需要dm-postgres-adapter,但它是我将其加载到我的Gemfile中的。
答案 0 :(得分:0)
我遇到了同样的错误。按下heroku时,请不要忽略来自Heroku的警告。
如果您正在使用Git(可能是这样),则需要首先通过命令行删除.bundle /文件夹:
git rm --cached -r .bundle /
然后,您需要在主目录中添加一个.gitignore文件,并在文件主体中添加“ .bundle /”
全部提交给git和/或github。 推送到Heroku。 (再也不要在.bundle /文件夹中发出讨厌的警告了)
然后运行heroku run console命令并再次使用Jumpstart教程进行学习。