Failing to push to heroku
我正在尝试将Rails 3.2.12应用程序推送到配置有postgres数据库的heroku。我第一次运行
1 2 3 4 5 | Running: rake assets:precompile rake aborted! could NOT CONNECT TO server: Connection refused IS the server running ON host"127.0.0.1" AND accepting TCP/IP connections ON port 5432? |
进行一些故障排除后,我遇到了这篇文章,并将以下行放在我的
1 | config.assets.initialize_on_precompile = FALSE |
然后我运行
1 2 3 4 5 6 | Running rake db:CREATE attached TO terminal... up, run.4115 rake aborted! undefined LOCAL variable OR method `config' for main:Object /app/config/application.rb:5:in `<top (required)>' /app/Rakefile:5:in `require' /app/Rakefile:5:IN `<top (required)>' |
有趣的是,application.rb的第5行是我添加的前一行:
1 | config.assets.initialize_on_precompile = FALSE |
最后,我注意到无法使用application.rb文件中的上述行在本地启动数据库-我收到以下错误:
1 | config/application.rb:5:IN `<top (required)>': undefined local variable or method `config' for main:Object (NameError) |
这个问题似乎很容易解决。22.如何在不更改application.rb文件的情况下将其部署到heroku以及如何在本地服务器上运行它?
确保
1 2 3 4 | module YourApplicationName class Application < Rails::Application config.assets.initialize_on_precompile = FALSE |
确保重新启动所有内容。
此外,如果上述方法无效,则暂时的解决方法是将您的
1 2 3 4 5 6 7 | GROUP :development, :test do gem 'sqlite3' END GROUP :production do gem 'pg' END |
然后运行
Heroku不建议使用其他数据库进行开发和生产。但是,这将起作用,并且我已经多次使用它来轻松启动和运行
我尝试添加
1 | config.assets.initialize_on_precompile = FALSE |
到" config / application.rb "并将我的项目上传到heroku,它被上传而没有任何错误,并且即使rake命令在heroku上也不起作用。
我在heroku上的这篇文章中发现:
https://devcenter.heroku.com/articles/rails-4-asset-pipeline
上面说加
1 | config.serve_static_assets = TRUE |
到您的config / application.rb,然后它可以正常工作。在我的计算机上使用" rake asset:precompile "进行测试时,它可以正确地进行预编译。而且我的项目已正确上传,并显示出非常好的效果。