我正在尝试部署一个基本的应用程序,但它不起作用.使用
I'm trying to deploy a basic app and it's not working. Using
git push heroku master我收到此错误消息:
remote: ! Could not detect rake tasks remote: ! ensure you can run `$ bundle exec rake -P` against your app remote: ! and using the production group of your Gemfile. remote: ! rake aborted! remote: ! LoadError: cannot load such file -- /tmp/build_a1cfcabff50107f84830d908386197b2/config/application remote: ! /tmp/build_a1cfcabff50107f84830d908386197b2/Rakefile:4:in `require' remote: ! /tmp/build_a1cfcabff50107f84830d908386197b2/Rakefile:4:in `<top (required)>' remote: ! /tmp/build_a1cfcabff50107f84830d908386197b2/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rake_module.rb:28:in `load' remote: ! /tmp/build_a1cfcabff50107f84830d908386197b2/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rake_module.rb:28:in `load_rakefile' remote: ! /tmp/build_a1cfcabff50107f84830d908386197b2/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/application.rb:689:in `raw_load_rakefile' remote: ! /tmp/build_a1cfcabff50107f84830d908386197b2/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/application.rb:94:in `block in load_rakefile' remote: ! /tmp/build_a1cfcabff50107f84830d908386197b2/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/application.rb:176:in `standard_exception_handling' remote: ! /tmp/build_a1cfcabff50107f84830d908386197b2/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/application.rb:93:in `load_rakefile' remote: ! /tmp/build_a1cfcabff50107f84830d908386197b2/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/application.rb:77:in `block in run' remote: ! /tmp/build_a1cfcabff50107f84830d908386197b2/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/application.rb:176:in `standard_exception_handling' remote: ! /tmp/build_a1cfcabff50107f84830d908386197b2/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/application.rb:75:in `run' remote: ! /tmp/build_a1cfcabff50107f84830d908386197b2/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/bin/rake:33:in `<top (required)>' remote: ! vendor/bundle/bin/rake:16:in `load' remote: ! vendor/bundle/bin/rake:16:in `<main>' remote: ! remote: /app/tmp/buildpacks/ruby/lib/language_pack/helpers/rake_runner.rb:102:in `load_rake_tasks!': Could not detect rake tasks (LanguagePack::Helpers::RakeRunner::CannotLoadRakefileError)bundle exec rake -P 似乎工作正常.
我的 Gemfile 没有什么特别的,我只是添加了 Bootstrap:
There's nothing special in my Gemfile, I just added Bootstrap:
source 'rubygems' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '4.2.5.1' # Use SCSS for stylesheets gem 'sass-rails', '~> 5.0' # Use Uglifier as compressor for JavaScript assets gem 'uglifier', '>= 1.3.0' # Use CoffeeScript for .coffee assets and views gem 'coffee-rails', '~> 4.1.0' # See github/rails/execjs#readme for more supported runtimes # gem 'therubyracer', platforms: :ruby # Use jquery as the JavaScript library gem 'jquery-rails' # Turbolinks makes following links in your web application faster. Read more: github/rails/turbolinks gem 'turbolinks' # Build JSON APIs with ease. Read more: github/rails/jbuilder gem 'jbuilder', '~> 2.0' # bundle exec rake doc:rails generates the API under doc/api. gem 'sdoc', '~> 0.4.0', group: :doc gem 'bootstrap-sass' # Use ActiveModel has_secure_password # gem 'bcrypt', '~> 3.1.7' # Use Unicorn as the app server # gem 'unicorn' # Use Capistrano for deployment # gem 'capistrano-rails', group: :development #postgreeSQL for Heroku deployment group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug' gem 'sqlite3' end group :development do # Access an IRB console on exception pages or by using <%= console %> in views gem 'web-console', '~> 2.0' # Spring speeds up development by keeping your application running in the background. Read more: github/rails/spring gem 'spring' end group :production do gem 'pg' gem 'rails_12factor' end ruby "2.2.3"好吧,我不明白为什么会这样,因为我有另一个正常工作的项目.我检查了一切,它仍然给我这条消息.
Well, I don't see why it's happening, since I have another project that is working normally. I checked everything and it still gives me that message.
推荐答案有时 Heroku 会抛出有关资产部署的问题.您可以预编译资产并将其推送到 Heroku.
Sometimes Heroku throws an issue on deployment about assets. You can precompile assets and push it to Heroku.
RAILS_ENV=production bundle exec rake assets:precompile更新:
如果它不起作用,请确保添加RAILS_SERVE_STATIC_FILES 环境.到你的服务器.
In case of it doesn't work, make sure to add RAILS_SERVE_STATIC_FILES env. to yr server.
使其enabled 或true 或anything :)
因为在 Rails <5.1 production.rb 中有
Because in Rails <5.1 production.rb has
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
Heroku:应用程序 -> 设置 ->显示配置变量"
Heroku: App -> Settings -> "Reveal Config Vars"
示例:
更多推荐
heroku 推送错误:“无法检测到 rake 任务";
发布评论