首页 > 解决方案 > 我无法更新 Ruby on Rails

问题描述

rails c
/home/dayanov-sa/.rvm/gems/ruby-2.4.4/gems/railties-5.2.3/lib/rails/app_loader.rb:53: warning: Insecure world writable dir /home/dayanov-sa in PATH, mode 040777
/home/dayanov-sa/.rvm/gems/ruby-2.4.4/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Bignum is deprecated
/home/dayanov-sa/.rvm/gems/ruby-2.4.4/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Fixnum is deprecated
/home/dayanov-sa/.rvm/gems/ruby-2.4.4/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:124:in `block (2 levels) in <class:Numeric>': stack level too deep (SystemStackError)
        from /home/dayanov-sa/.rvm/gems/ruby-2.4.4/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
        from /home/dayanov-sa/.rvm/gems/ruby-2.4.4/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
        from /home/dayanov-sa/.rvm/gems/ruby-2.4.4/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
        from /home/dayanov-sa/.rvm/gems/ruby-2.4.4/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
        from /home/dayanov-sa/.rvm/gems/ruby-2.4.4/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
        from /home/dayanov-sa/.rvm/gems/ruby-2.4.4/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
        from /home/dayanov-sa/.rvm/gems/ruby-2.4.4/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
        from /home/dayanov-sa/.rvm/gems/ruby-2.4.4/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
         ... 4099 levels...
        from /home/dayanov-sa/.rvm/gems/ruby-2.4.4/gems/spring-2.1.0/lib/spring/application/boot.rb:19:in `<top (required)>'
        from /home/dayanov-sa/.rvm/rubies/ruby-2.4.4/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from /home/dayanov-sa/.rvm/rubies/ruby-2.4.4/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:54:in `require'

我试图通过以下方式更新:

bundle update rails
gem install rails -v 5.0.2
gem update rails
Rails 4.2.0 version
ruby 2.4.4p296 (2018-03-28 revision 63013) [x86_64-linux]

运行 rails 时出现很多错误。我在网上看需要升级,但没有成功

标签: ruby-on-railsrubyrubygems

解决方案


Rails-4更喜欢 Ruby 2.0 并且需要 1.9.3 或更高版本。Rails-5需要 Ruby 2.2.2 或更新版本。

你的 Rails 版本很旧,升级它,

gem upgrade rails

如果你已经有一个 Rails 项目,你应该,

  1. 在您的 Gemfile 中指定所需的版本
  2. 运行bundle install/bundle update
  3. rails app:update

你最好遵循这个


推荐阅读