ruby-on-rails - 加载“sqlite3”Active Record 适配器时出错。缺少它所依赖的宝石?sqlite3 不是捆绑包的一部分。将它添加到您的 Gemfile 以供 heroku
问题描述
大家好,我不知道为什么,但我在部署时遇到了这个奇怪的错误。我已经为此花费了三个小时,但无法使其正常工作。它之前已经成功运行过多次,甚至在部署新应用程序的三个小时内运行一次。我不知道为什么我在 heroku 上遇到这个错误,而且只有 heroku。
宝石文件:
Heroku 错误:
数据库.yml:
如果有人有任何建议,我会全力以赴!
解决方案
@petertran98 SQLite 不适合在 Heroku 上运行。请参阅Heroku SQLite 在 Heroku 上的官方链接,他们建议使用 Postgres。
要将 SQLite 替换为 Postgres,您需要执行以下操作。
步骤 - 1:在您的 Gemfile 中gem 'sqlite3'
替换为。gem 'pg'
步骤 - 2:在您的 database.yml 中替换adapter: sqlite3
为。adapter: postgresql
现在尝试运行部署。它应该可以解决问题。如果您仍然面临一些问题,那么您可能需要根据您看到的错误执行以下操作之一。
如果没有使用部署脚本自动创建,您需要手动添加 Postgres。
heroku addons:create heroku-postgresql
或者如果您仍然看到 SQLite 错误,那么您可能需要删除 Gemfile.lock 文件并bundle install
再次运行命令。
推荐阅读
- java - 即使“set”名称为空,Aerospike java 客户端也会存储数据
- python - sqlalchemy 选择返回一个元素的元组列表,而声明性选择返回元素列表
- javascript - 如何在图片中添加音频?
- excel - Excel 使用 SUMIF,但在求和之前有一个乘数:x2、x3、x4 等
- javascript - 将 React 组件作为对象值传递
- python - python numpy访问具有2个索引的一维数组中的元素
- react-native - 反应本机弹出菜单未在菜单触发器附近弹出
- java - JAVA 中 SOAP 响应的 XML 解析
- git - 如何使用 git 命令在本地查看使用 ADO 创建的远程分支?
- c# - 为什么 foreach 循环有效但 Linq 变体无效?