这个问题令人沮丧。我试过所有现有的解决方案让我来描述那些和我未解决的情况。
我的Gemfile看起来像这样:
gem 'rails', '~> 5.0.1'
gem 'pg'
gem 'puma', '~> 3.0'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.2'
gem 'jquery-rails'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
group :development, :test do
gem 'byebug', platform: :mri
end
group :development do
gem 'web-console', '>= 3.3.0'
gem 'listen', '~> 3.0.5'
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
gem 'bootstrap-sass', '~> 3.3.7'
gem 'autoprefixer-rails'
gem 'font-awesome-sass'
gem 'annotate'
gem 'devise'
gem 'rails_admin'
gem 'carrierwave', '~> 1.0'
gem 'private_pub'
gem 'thin'
替换
gem 'sqlite3'
与
group :development, :test do
gem 'sqlite3'
end
group :production do
gem 'pg'
end
然后
bundle install
git add .
git commit -am"Update Gemfile"
git push heroku master
这个解决方案对我不起作用。 Heroku仍尝试安装sqlite3。
从Gemfile中移除sqlite3
并在所有地方使用postgresql
(development
,test
,production
)
所以,我安装了postgres并做了必要的设置,用postgres在本地运行我的项目。它工作正常。
我的database.yml
看起来像这样:
development:
adapter: postgresql
database: my_database_development
pool: 5
timeout: 5000
test:
adapter: postgresql
database: my_database_test
pool: 5
timeout: 5000
production:
adapter: postgresql
database: my_database_production
pool: 5
timeout: 5000
这个解决方案对我不起作用。 Heroku仍尝试安装sqlite3
。
所以,人们建议我有一些依赖于sqlite3的宝石。好吧,在尝试的解决方案2中,我的Gemfile和Gemlock没有sqlite3的痕迹。
Heroku仍尝试安装sqlite3
。
因此,人们建议显示Gem dependency
这是我的Gem dependency
连接到sqlite3
Gem orm_adapter-0.5.0
activerecord (>= 3.2.15, development)
bson_ext (>= 1.3.0, development)
bundler (>= 1.0.0, development)
datamapper (>= 1.0, development)
dm-active_model (>= 1.0, development)
dm-sqlite-adapter (>= 1.0, development)
git (>= 1.2.5, development)
mongo_mapper (~> 0.11.0, development)
mongoid (~> 2.8.0, development)
rake (>= 0.8.7, development)
rspec (>= 2.4.0, development)
sqlite3 (>= 1.3.2, development) <---
yard (>= 0.6.0, development)
Gem sass-rails-5.0.6
railties (< 6, >= 4.0.0)
sass (~> 3.1)
sprockets (< 4.0, >= 2.8)
sprockets-rails (< 4.0, >= 2.0)
sqlite3 (>= 0, development) <---
tilt (< 3, >= 1.1)
现在建议删除那些依赖sqlite3
的宝石。
但Devise
取决于orm_adapter
。那么,我是否也必须删除Devise
?这听起来太难看了。然后有sass-rails。 sass-rails表示它只需要在开发环境中使用sqlite3。我被困在这里。
此时,任何新的建议都将受到赞赏。