Не удалось нажать на герольку

Вероятно, не лучший способ перенести приложение rails 3 на рельсы 4, но я просто удалил все файлы (за исключением скрытых файлов.git) и перестроил статический webapp без каких-либо тестов базы данных или модулей (rails new testapp -O --skip-bundle -T). Все работает отлично на моем localhost. Я удалил и выполнил bundle install для воссоздания моего Gemfile.lock.

Я также тестировал добавление config.serve_static_assets = true; в config/application.rb, но продолжайте видеть предупреждение о том, что "Обнаруженные Rails не настроены на использование static_assets".

Вот содержимое моего Gemfile:

source 'https://rubygems.org'
ruby '2.0.0'
#ruby-gemset=railstutorial_rails_4_0

gem 'rails', '4.0.2'

group :development do
 #gem 'sqlite3', '1.3.8'
end

group :production do
 gem 'rails_12factor' # for heroku
end
gem 'sass-rails', '4.0.1'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'

group :doc do
 gem 'sdoc', '0.3.20', require: false
end

И вот результат, который я получаю при попытке нажать на Heroku:

me-mbp:testapp me$ git push heroku master
Fetching repository, done.
Counting objects: 275, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (197/197), done.
Writing objects: 100% (211/211), 56.08 KiB | 0 bytes/s, done.
Total 211 (delta 117), reused 3 (delta 0)

-----> Ruby/Rails app detected
-----> Detected Rails is not set to serve static_assets
 Installing rails3_serve_static_assets... done
-----> Configure Rails 3 to disable x-sendfile
 Installing rails3_disable_x_sendfile... done
-----> Configure Rails to log to stdout
 Installing rails_log_stdout... done
-----> Gemfile detected, running Bundler version 1.0.7
 Unresolved dependencies detected; Installing...
 Using --without development:test
 /tmp/build_25e2c7af-af3f-4901-8e75-4d3e12337bf8/Gemfile:2:in 'evaluate': undefined method 'ruby' for #<bundler::dsl:0x000000025d3c78> (NoMethodError)
 from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/dsl.rb:7:in 'instance_eval'
 from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/dsl.rb:7:in 'evaluate'
 from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/definition.rb:17:in 'build'
 from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler.rb:128:in 'definition'
 from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/cli.rb:225:in 'install'
 from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/vendor/thor/task.rb:22:in 'run'
 from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/vendor/thor/invocation.rb:118:in 'invoke_task'
 from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/vendor/thor.rb:246:in 'dispatch'
 from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/vendor/thor/base.rb:389:in 'start'
 from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/bin/bundle:13:in '<top (required)="">'
 from /usr/ruby1.9.2/bin/bundle:19:in 'load'
 from /usr/ruby1.9.2/bin/bundle:19:in '</top></bundler::dsl:0x000000025d3c78><main><code>'
 FAILED: http://devcenter.heroku.com/articles/bundler

 ! Push failed: failed to install gems via Bundler
 ! If the problem persists, see http://help.heroku.com and provide Request ID 25e2c7af-af3f-4901-8e75-4d3e12337bf8.
</code> <p> В моем полном файле Gemfile.lock показан более совершенный пакет и рельсы:</p> <pre class="prettyprint linenums">GEM
 remote: https://rubygems.org/
 specs:
 actionmailer (4.0.2)
 actionpack (= 4.0.2)
 mail (~> 2.5.4)
 actionpack (4.0.2)
 activesupport (= 4.0.2)
 builder (~> 3.1.0)
 erubis (~> 2.7.0)
 rack (~> 1.5.2)
 rack-test (~> 0.6.2)
 activemodel (4.0.2)
 activesupport (= 4.0.2)
 builder (~> 3.1.0)
 activerecord (4.0.2)
 activemodel (= 4.0.2)
 activerecord-deprecated_finders (~> 1.0.2)
 activesupport (= 4.0.2)
 arel (~> 4.0.0)
 activerecord-deprecated_finders (1.0.3)
 activesupport (4.0.2)
 i18n (~> 0.6, >= 0.6.4)
 minitest (~> 4.2)
 multi_json (~> 1.3)
 thread_safe (~> 0.1)
 tzinfo (~> 0.3.37)
 arel (4.0.1)
 atomic (1.1.14)
 builder (3.1.4)
 coffee-rails (4.0.1)
 coffee-script (>= 2.2.0)
 railties (>= 4.0.0, < 5.0)
 coffee-script (2.2.0)
 coffee-script-source
 execjs
 coffee-script-source (1.6.3)
 erubis (2.7.0)
 execjs (2.0.2)
 hike (1.2.3)
 i18n (0.6.9)
 jbuilder (1.0.2)
 activesupport (>= 3.0.0)
 jquery-rails (3.0.4)
 railties (>= 3.0, < 5.0)
 thor (>= 0.14, < 2.0)
 json (1.8.1)
 mail (2.5.4)
 mime-types (~> 1.16)
 treetop (~> 1.4.8)
 mime-types (1.25.1)
 minitest (4.7.5)
 multi_json (1.8.2)
 polyglot (0.3.3)
 rack (1.5.2)
 rack-test (0.6.2)
 rack (>= 1.0)
 rails (4.0.2)
 actionmailer (= 4.0.2)
 actionpack (= 4.0.2)
 activerecord (= 4.0.2)
 activesupport (= 4.0.2)
 bundler (>= 1.3.0, < 2.0)
 railties (= 4.0.2)
 sprockets-rails (~> 2.0.0)
 rails_12factor (0.0.2)
 rails_serve_static_assets
 rails_stdout_logging
 rails_serve_static_assets (0.0.2)
 rails_stdout_logging (0.0.3)
 railties (4.0.2)
 actionpack (= 4.0.2)
 activesupport (= 4.0.2)
 rake (>= 0.8.7)
 thor (>= 0.18.1, < 2.0)
 rake (10.1.1)
 rdoc (3.12.2)
 json (~> 1.4)
 sass (3.2.13)
 sass-rails (4.0.1)
 railties (>= 4.0.0, < 5.0)
 sass (>= 3.1.10)
 sprockets-rails (~> 2.0.0)
 sdoc (0.3.20)
 json (>= 1.1.3)
 rdoc (~> 3.10)
 sprockets (2.10.1)
 hike (~> 1.2)
 multi_json (~> 1.0)
 rack (~> 1.0)
 tilt (~> 1.1, != 1.3.0)
 sprockets-rails (2.0.1)
 actionpack (>= 3.0)
 activesupport (>= 3.0)
 sprockets (~> 2.8)
 thor (0.18.1)
 thread_safe (0.1.3)
 atomic
 tilt (1.4.1)
 treetop (1.4.15)
 polyglot
 polyglot (>= 0.3.1)
 turbolinks (1.1.1)
 coffee-rails
 tzinfo (0.3.38)
 uglifier (2.1.1)
 execjs (>= 0.3.0)
 multi_json (~> 1.0, >= 1.0.2)

PLATFORMS
 ruby

DEPENDENCIES
 coffee-rails (= 4.0.1)
 jbuilder (= 1.0.2)
 jquery-rails (= 3.0.4)
 rails (= 4.0.2)
 rails_12factor
 sass-rails (= 4.0.1)
 sdoc (= 0.3.20)
 turbolinks (= 1.1.1)
 uglifier (= 2.1.1)
1 ответ

Эта ошибка возникает при использовании старой версии Bundler, которая не поддерживает метод ruby внутри Gemfile.

Это подтверждается результатами развертывания

-----> Gemfile detected, running Bundler version 1.0.7

Поскольку кедр Cedar обновлен, я предполагаю, что вы используете стек Bamboo. Вы должны перейти на Cedar.

licensed under cc by-sa 3.0 with attribution.