Bash RubyonRails-Rails服务器在启动后立即退出(SystemStackError)
我已经在C驱动器中使用Windows10Bash设置了RubyonRails。我已经使用rbenv进行了设置,并将我的ruby版本更新为2.4.0。然后,我将rails版本更新为4.2.6,并运行bundle update来更新我的gem,然后运行rails服务器,但它没有启动服务器。相反,它会立即退出服务器,并显示以下错误: /home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/thread\u safe-0.3.5/lib/thread\u safe/cache.rb:155:警告:constant::Fixnum不推荐使用 /home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/thread\u safe-0.3.5/lib/thread\u safe/cache.rb:155:警告:constant::Fixnum不推荐使用 /home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/fspath-3.0.1/lib/fspath.rb:154:警告:常量::Fixnum不推荐使用 =>引导精简 =>Rails 4.2.7.1应用程序在上开始开发 =>运行Bash RubyonRails-Rails服务器在启动后立即退出(SystemStackError),bash,ruby-on-rails-4,rubygems,windows-10,Bash,Ruby On Rails 4,Rubygems,Windows 10,我已经在C驱动器中使用Windows10Bash设置了RubyonRails。我已经使用rbenv进行了设置,并将我的ruby版本更新为2.4.0。然后,我将rails版本更新为4.2.6,并运行bundle update来更新我的gem,然后运行rails服务器,但它没有启动服务器。相反,它会立即退出服务器,并显示以下错误: /home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/thread\u safe-0.3.5/lib/
rails服务器-h
获取更多启动选项
=>Ctrl-C关闭服务器
/home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/thread\u safe-0.3.5/lib/thread\u safe/cache.rb:155:警告:constant::Fixnum不推荐使用
/home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.7.1/lib/active\u support/core\u ext/numeric/conversions.rb:121:警告:不推荐使用常量::Fixnum
/home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.7.1/lib/active\u support/core\u ext/numeric/conversions.rb:121:警告:常量::Bignum不推荐使用
退出
/home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.7.1/lib/active\u support/core\u ext/numeric/conversions.rb:124:inblock(2层)in':堆栈层太深(SystemStackError)
from/home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.7.1/lib/active\u support/core\u ext/numeric/conversions.rb:131:in
block(2级)in'
from/home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.7.1/lib/active\u support/core\u ext/numeric/conversions.rb:131:inblock(2层)in'
from/home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.7.1/lib/active\u support/core\u ext/numeric/conversions.rb:131:in
block(2级)in'
from/home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.7.1/lib/active\u support/core\u ext/numeric/conversions.rb:131:inblock(2层)in'
from/home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.7.1/lib/active\u support/core\u ext/numeric/conversions.rb:131:in
block(2级)in'
from/home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.7.1/lib/active\u support/core\u ext/numeric/conversions.rb:131:inblock(2层)in'
from/home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.7.1/lib/active\u support/core\u ext/numeric/conversions.rb:131:in
block(2级)in'
from/home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.7.1/lib/active\u support/core\u ext/numeric/conversions.rb:131:inblock(2层)in'
... 5011级。。。
from/home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.7.1/lib/rails/commands/commands\u tasks.rb:39:in
run\u command!'
来自/home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.7.1/lib/rails/commands.rb:17:in'
从箱子/轨道:4:in
require'
从箱子/轨道:4:in`'
非常感谢您的帮助。谢谢。在Ruby 2.3.x或更早版本中,有一个基类整数,您不需要直接实例化或寻址。相反,您可以以有限的精度处理假定的快速Fixnum,或者处理假定的较慢Bignum,后者可以处理非常大的数字 在Ruby 2.4.0中,维护人员做出了一个真正令人震惊的决定,即“弃用”Fixnum和Bignum,将它们都转换成整数。任何使用Fixnum或Bignum的代码都会收到警告。对
42
类进行的任何测试或其他代码内省将得到答案Integer
,而不是Fixnum
对于想要在Ruby 2.3.x或更早版本,或2.4.0或更高版本上运行的实际代码(例如gem),这是一个非常非常难以处理的更改
Rails 4.2早于Ruby 2.4,我不知道它是否完全兼容。我的猜测是,将系统的Ruby降级到2.3.3将解决您的问题。它肯定会消除所有污染您的主机的警告,如果崩溃仍然发生,则有更好的机会看到相关消息泄露根本原因