J'essaye d'exécuter le projet nouvellement créé dans Rails 4.0.8 mais je reçois et erreur:
Rails s
=> Booting WEBrick
=> Rails 4.0.8 application starting in development on http://0.0.0.0:3000
=> Run `Rails server -h` for more startup options
=> Ctrl-C to shutdown server
/usr/local/lib/Ruby/gems/2.4.0/gems/activesupport-4.0.8/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Fixnum is deprecated
/usr/local/lib/Ruby/gems/2.4.0/gems/activesupport-4.0.8/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Bignum is deprecated
Exiting
/usr/local/lib/Ruby/gems/2.4.0/gems/activesupport-4.0.8/lib/active_support/core_ext/numeric/conversions.rb:124:in `block (2 levels) in <class:Numeric>': stack level too deep (SystemStackError)
from /usr/local/lib/Ruby/gems/2.4.0/gems/activesupport-4.0.8/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
from /usr/local/lib/Ruby/gems/2.4.0/gems/activesupport-4.0.8/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
from /usr/local/lib/Ruby/gems/2.4.0/gems/activesupport-4.0.8/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
from /usr/local/lib/Ruby/gems/2.4.0/gems/activesupport-4.0.8/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
from /usr/local/lib/Ruby/gems/2.4.0/gems/activesupport-4.0.8/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
from /usr/local/lib/Ruby/gems/2.4.0/gems/activesupport-4.0.8/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
from /usr/local/lib/Ruby/gems/2.4.0/gems/activesupport-4.0.8/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
from /usr/local/lib/Ruby/gems/2.4.0/gems/activesupport-4.0.8/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
... 5532 levels...
from /usr/local/lib/Ruby/gems/2.4.0/gems/railties-4.0.8/lib/Rails/commands.rb:71:in `tap'
from /usr/local/lib/Ruby/gems/2.4.0/gems/railties-4.0.8/lib/Rails/commands.rb:71:in `<top (required)>'
from bin/Rails:4:in `require'
from bin/Rails:4:in `<main>'
Version rubis:
Rails 4.0.8
Mon Gemefile:
source 'https://rubygems.org'
# Bundle Edge Rails instead: gem 'Rails', github: 'Rails/rails'
gem 'Rails', '4.0.8'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use SCSS for stylesheets
gem 'sass-Rails', '~> 4.0.2'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-Rails', '~> 4.0.0'
# See https://github.com/sstephenson/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: https://github.com/Rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/Rails/jbuilder
gem 'jbuilder', '~> 1.2'
gem 'json', github: 'flori/json', branch: 'v1.8'
group :doc do
# bundle exec rake doc:Rails generates the API under doc/api.
gem 'sdoc', require: false
end
J'ai essayé de réinstaller Rails parce qu'avant j'avais 5.0 Rails installé sur ma machine.
Gemmes locales:
*** LOCAL GEMS ***
autoprefixer-Rails (6.6.0)
coffee-Rails (4.2.1, 4.0.1)
font-awesome-Rails (4.7.0.1)
jquery-atwho-Rails (1.3.2)
jquery-Rails (4.2.2, 3.1.4)
Rails (4.0.8, 4.0.0)
Rails-dom-testing (2.0.2)
Rails-html-sanitizer (1.0.3)
Rails_12factor (0.0.3)
Rails_serve_static_assets (0.0.5)
Rails_stdout_logging (0.0.5)
sass-Rails (5.0.6, 4.0.5)
sprockets-Rails (3.2.0, 2.3.3, 2.0.1)
Meybe unistall: Ruby et Rails va résoudre ce problème, mais je ne veux pas le faire. Beasically, je voudrais avoir installé les deux versions de Rails, par exemple. : Rails 4 et Rails 5 également. Cette configuration est-elle possible?)
Dans Ruby 2.4, il y avait une unification des types entiers (ie Fixnum
et Bignum
sont maintenant identiques: Integer
.)). Cela résulte en quelques incompatibilités avec les gemmes existantes qui reposaient sur la distinction des classes.
Les versions les plus anciennes d’ActiveSupport font partie de celles qui n’apprécient pas cette unification et la négligent lorsqu’elles tentent de sérialiser des données. En tant que tel, vous avez l'une des deux options suivantes:
J'ai la même erreur, mais je ne veux pas passer à la version 5.0, mon application est très grosse et prend beaucoup de temps. J'améliore le Rails 4.1.7
à la Rails to 4.2.8
premier Rails version avec Ruby 2.4
soutien:
dans le Gemfile:
gem 'Rails', '4.2.8'
Ensuite:
bundle update Rails
En ce qui concerne l'erreur, vous exécutez la version récemment libérée Ruby 2.4, qui Rails et ActiveSupport (en particulier les anciennes versions)) t soutenir encore.
This Rails indique que votre Rails (4.0.8) préfère "Ruby 2.0.
Vous pouvez corriger l’erreur en mettant à niveau votre Rails (gem 'Rails', '5.0'
) ou le passage à une version antérieure de Ruby avec un gestionnaire de version (par exemple, $ rvm install 2.3.0; rvm use 2.3.0
).