当我执行git push heroku master时,它在rake资产预编译时失败,我收到错误Mysql2::Error: Can't connect to MySQL server on '127.0.0.1' heroku
我已经知道
由于我使用的是Rails 4,因此不再需要config.assets.initialize_on_precompile = false
,因为不再需要。{/ p>
heroku labs:enable user-env-compile
Heroku不再支持此功能。
在网上进行研究后,我了解到解决方案可能就在这里
heroku build pack
但我不明白如何运行这些命令。
我一直在bash: bin/compile: No such file or directory
如何解决此问题?我正在使用Rails 4.2.5,Ruby 2.3.0和Db是本地的Mysql。提前谢谢你。
的database.yml
default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: root
password: password
host: localhost
development:
<<: *default
database: respect_development
test:
<<: *default
database: respect_test
production:
<<: *default
database: respect_production
username: respect
password: <%= ENV['RESPECT_DATABASE_PASSWORD'] %>
答案 0 :(得分:0)
听起来你的database.yml
被配置为使用本地数据库(127.0.0.1
),即使在Heroku上也是如此。你database.yml
中的内容是什么?我会从git中删除该文件并检查DATABASE_URL
的Heroku配置变量。您应该在Heroku上看到对数据库的引用, not 127.0.0.1
。
答案 1 :(得分:0)
我只需要在本地预编译资产reverse
,然后将其推送rake assets:precompile
在我的 environments / production.rb
git push heroku master
我也把它添加到我的Gemfile
config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?