У меня возникла очень странная проблема с установкой версии 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

Любые идеи?

5
methyl 31 Дек 2013 в 13:47

2 ответа

Лучший ответ

Я подозреваю, что у вас может быть собственный сборочный пакет - проверьте что-нибудь в переменной конфигурации BUILDPACK_URL.

7
John Beynon 7 Янв 2014 в 15:32

Согласно сообщению об ошибке, похоже, что вы используете конфигурацию RUBY_VERSION. Эта конфигурация больше не поддерживается для новых версий, так как Bundler стал предпочтительным методом чтобы указать версию Ruby.

Похоже, ваш Gemfile правильно настроен для Ruby 2.1.0. Просто удалите переменную, чтобы избежать конфликтов

$ heroku config:unset RUBY_VERSION

Из статьи поддержки Heroku вы можете прочитать

Если вы ранее использовали RUBY_VERSION для выбора версии Ruby, следуйте приведенным выше инструкциям, чтобы указать желаемую версию Ruby с помощью Bundler.

0
Simone Carletti 31 Дек 2013 в 11:45