【问题标题】:Sinatra Datamapper errors when deploying in Heroku在 Heroku 中部署时 Sinatra Datamapper 错误
【发布时间】:2015-11-06 20:56:36
【问题描述】:

所以我试图在 Heroku 上部署我的网络应用程序,但我不断收到这些错误:

app/vendor/bundle/ruby/2.1.0/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:163:in require': cannot load such file -- dm-sqlite-adapter (LoadError)
from /app/vendor/bundle/ruby/2.1.0/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:163:in load_adapter'
from /app/vendor/bundle/ruby/2.1.0/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:133:in adapter_class'
from /app/vendor/bundle/ruby/2.1.0/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:13:in new'
from /app/vendor/bundle/ruby/2.1.0/gems/dm-core-1.2.1/lib/dm-core.rb:230:in setup'
from /app/index.rb:13:in <top (required)>'
from /app/config.ru:1:in require'
from /app/config.ru:1:in block in <main>'
from /app/vendor/bundle/ruby/2.1.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in instance_eval'
from /app/vendor/bundle/ruby/2.1.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in initialize'
from /app/config.ru:in new'
from /app/config.ru:in <main>'
from /app/vendor/bundle/ruby/2.1.0/gems/rack-1.6.4/lib/rack/builder.rb:49:in eval'
from /app/vendor/bundle/ruby/2.1.0/gems/rack-1.6.4/lib/rack/builder.rb:49:in new_from_string'
from /app/vendor/bundle/ruby/2.1.0/gems/rack-1.6.4/lib/rack/builder.rb:40:in parse_file'
from /app/vendor/bundle/ruby/2.1.0/gems/rack-1.6.4/lib/rack/server.rb:299:in build_app_and_options_from_config'
from /app/vendor/bundle/ruby/2.1.0/gems/rack-1.6.4/lib/rack/server.rb:208:in app'
from /app/vendor/bundle/ruby/2.1.0/gems/rack-1.6.4/lib/rack/server.rb:336:in wrapped_app'
from /app/vendor/bundle/ruby/2.1.0/gems/rack-1.6.4/lib/rack/server.rb:147:in start'
from /app/vendor/bundle/ruby/2.1.0/gems/rack-1.6.4/lib/rack/server.rb:272:in start'
from /app/vendor/bundle/ruby/2.1.0/gems/rack-1.6.4/bin/rackup:4:in `<top (required)>'
from /app/vendor/bundle/ruby/2.1.0/bin/rackup:23:in load'from /app/vendor/bundle/ruby/2.1.0/bin/rackup:23:in `<main>'

我知道 Heroku 不适用于 sqlite,这就是我按照建议切换到 postgresql 的原因。但这只会让这更加奇怪,因为我什至没有使用 sqlite。 :S

建议?

【问题讨论】:

  • 我猜你的index.rb 的第 13 行有类似DataMapper.setup(:default, ENV['DATABASE_URL'] || 'sqlite://blah') 的行,而你没有设置DATABASE_URL
  • 哇哦,你是对的。奇怪的是,我之前在文件中搜索了“sqlite”,但找不到任何东西。现在我在本地测试时遇到了一些其他错误。明天我会检查更多,如果我设法让它工作,我会更新。

标签: ruby heroku sinatra datamapper


【解决方案1】:

我认为dm-sqlite-adapter 是从您的Gemfile 引用的,或者是从代码中的其他地方引用的,可能是您配置数据映射器的地方。或者它可能是数据映射器 YAML 配置中的引用,如果你有的话。

【讨论】:

  • 我已经从 Gemfile 和代码中删除了它,在任何文件中都没有引用它。 :S
  • nvm 是搜索bug什么的,现在我在代码里找到了。
猜你喜欢
  • 2023-03-14
  • 2012-02-13
  • 2011-02-25
  • 2015-02-16
  • 2016-11-25
  • 1970-01-01
  • 1970-01-01
  • 2014-05-09
  • 1970-01-01
相关资源
最近更新 更多