У меня возникла очень странная проблема с установкой версии Ruby на 2.1.0 в существующем приложении Heroku. При попытке развернуть возникла такая ошибка:
! Invalid RUBY_VERSION specified: ruby-2.1.0
! Valid versions: ruby-2.0.0, ruby-1.9.3, ruby-1.9.2, ruby-1.8.7, ruby-1.9.3-jruby-1.7.0, ruby-1.8.7-jruby-1.7.0, ruby-1.9.3-jruby-1.7.1, ruby-1.8.7-jruby-1.7.1, ruby-1.9.3-rbx-2.0.0dev, ruby-1.8.7-rbx-2.0.0dev
В новом приложении Rails, развернутом на Heroku, нет проблем с новой версией Ruby.
Мой Gemfile:
source 'https://rubygems.org'
ruby '2.1.0'
gem 'rails', '~> 3.2.14'
gem 'pg'
gem 'unicorn'
gem 'pry'
gem 'active_model_serializers'
gem 'activeadmin'
gem 'activerecord-postgres-hstore'
gem 'acts-as-taggable-on', git: 'git://github.com/mbleigh/acts-as-taggable-on.git'
gem 'addressable', '~> 2.3.2', require: 'addressable/uri'
gem 'airbrake'
gem 'alchemy-api-rb', :require => ['alchemy_api', 'excon']
gem 'bcrypt-ruby', '~> 3.0.1'
gem 'browser'
gem 'cancan'
gem 'ckeditor', '= 4.0.2'
gem 'dalli'
gem 'filepicker-rails', git: 'https://github.com/limonka/filepicker-rails.git'
gem 'geocoder'
gem 'google_places'
gem 'google_places_autocomplete'
gem 'haml', '~> 3.1.6'
gem 'haml-rails', '~> 0.3.4'
gem 'heroku-api'
gem 'kaminari'
gem 'koala', '= 1.5.0'
gem 'memcachier'
gem 'metainspector', '~> 1.15.3'
gem 'newrelic_rpm'
gem 'jbuilder', '1.2.0'
gem 'paper_trail'
gem 'paperclip'
gem 'pusher'
gem 'rack-cache', require: 'rack/cache'
gem 'rack-mini-profiler'
gem 'recaptcha', require: 'recaptcha/rails'
gem 'rest-client'
# FIXME: Make sure that the bug with sidekiq-failures has been fixed: https://github.com/mhfs/sidekiq-failures/pull/49
gem 'sidekiq', '= 2.15.2'
gem 'sidekiq-failures'
gem 'simple_form', '~> 2.0.1'
gem 'sinatra', '~> 1.3.0', require: false
gem 'slim', '~> 1.3.8'
gem 'sorcery'
gem 'sunspot_rails', '= 2.0.0'
gem 'sunspot_solr', '= 2.0.0'
gem 'state_machine'
gem 'uglifier', '~> 1.2.3'
gem 'yajl-ruby'
gem 'rack-cors', require: 'rack/cors'
gem 'rubyzip', '~> 0.9.9'
gem 'paper_trail'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'asset_sync'
gem 'fog', '~> 1.11.1'
gem 'compass', '= 0.12.2'
gem 'compass-rails', '~> 1.0.1'
gem 'compass_twitter_bootstrap', git: 'https://github.com/vwall/compass-twitter-bootstrap.git', ref: '1a7b5ce5'
gem 'coffee-rails', '~> 3.2.1'
gem 'handlebars_assets', '~> 0.6.6'
gem 'jquery-rails', '~> 2.1.4'
gem 'sass-rails'
gem 'coffee-script-source', '~> 1.6.2'
gem 'turbo-sprockets-rails3'
end
group :test, :development do
gem 'capybara'
gem 'database_cleaner', '~> 0.7.2'
gem 'factory_girl'
gem 'faker'
gem 'jasminerice', git: 'git://github.com/bradphelan/jasminerice.git'
gem 'minitest', '~> 4.0'
gem 'launchy'
gem 'localtunnel'
gem 'pusher-fake', '= 0.9.0'
gem 'ruby-prof'
gem 'selenium-webdriver', '~> 2.34.0'
gem 'webmock', '~> 1.10.2', require: false
gem 'mocha', require: false
end
group :development do
gem 'bullet'
gem 'foreman'
gem 'growl'
gem 'hirb'
gem "letter_opener"
gem 'mailcatcher'
gem 'powder'
gem 'thin'
gem 'wirble'
gem 'yaml_db'
end
Любые идеи?
2 ответа
Я подозреваю, что у вас может быть собственный сборочный пакет - проверьте что-нибудь в переменной конфигурации BUILDPACK_URL.
Согласно сообщению об ошибке, похоже, что вы используете конфигурацию RUBY_VERSION
. Эта конфигурация больше не поддерживается для новых версий, так как Bundler стал предпочтительным методом чтобы указать версию Ruby.
Похоже, ваш Gemfile
правильно настроен для Ruby 2.1.0. Просто удалите переменную, чтобы избежать конфликтов
$ heroku config:unset RUBY_VERSION
Из статьи поддержки Heroku вы можете прочитать
Если вы ранее использовали RUBY_VERSION для выбора версии Ruby, следуйте приведенным выше инструкциям, чтобы указать желаемую версию Ruby с помощью Bundler.
Похожие вопросы
Новые вопросы
ruby-on-rails
Ruby on Rails - это полнофункциональная платформа веб-приложений с открытым исходным кодом, написанная на Ruby. Он следует популярной модели фреймворка MVC и известен своим подходом «соглашение поверх конфигурации» при разработке приложений.